RdGlobalFit.h
Go to the documentation of this file.
1 #ifndef _RdGlobalFit_h_
2 #define _RdGlobalFit_h_
3 
4 #include <fwk/VModule.h>
5 #include <string>
6 #include <rdet/RDetector.h>
7 #include <revt/REvent.h>
8 #include <utl/CoordinateSystemPtr.h>
9 #include <evt/ShowerRRecData.h>
10 #include <vector>
11 #include <algorithm>
12 #include "math.h"
13 
14 #include "TF2.h"
15 
16 #include <revt/Station.h>
17 #include <revt/Channel.h>
18 #include <string>
19 #include <vector>
20 #include <utl/CoordinateSystem.h>
21 
22 #include <utl/Point.h>
23 #include "FitModels.h"
24 #include "Minuit2/MnUserCovariance.h"
25 #include "Minuit2/MnUserParameters.h"
26 
27 #include "Minuit2/Minuit2Minimizer.h"
28 #include "Minuit2/MnUserParameters.h"
29 #include "Minuit2/MnMinimize.h"
30 #include "Minuit2/MnContours.h"
31 #include "Minuit2/MnMigrad.h"
32 #include "Minuit2/MnContours.h"
33 #include "Minuit2/ContoursError.h"
34 #include "Minuit2/FunctionMinimum.h"
35 #include "Minuit2/MinimumParameters.h"
36 #include "Minuit2/MnPrint.h"
37 #include "Minuit2/MnScan.h"
38 #include "Minuit2/MnPlot.h"
39 #include "Minuit2/MnUserCovariance.h"
40 namespace revt {
41 class Channel;
42 }
43 
44 namespace evt {
45 class Event;
46 }
47 
48 namespace revt {
49 class Station;
50 }
51 
52 namespace RdGlobalFit {
53 
54 class RdGlobalFit : public fwk::VModule {
55 
56  public:
57  // If you define a constructor, you MUST provide an implementation
58  // for it, otherwise the REGISTER_MODULE macro will not register
59  // your module. (Here, implementation is in MyModule.cc)
60  RdGlobalFit();
61  virtual ~RdGlobalFit();
62 
66  std::vector<std::pair<std::vector<std::pair<double, double> >, std::string> > scanParameters(
68  ROOT::Minuit2::FunctionMinimum/*, ROOT::Minuit2::MnStrategy*/, std::vector<std::string>);
69  void printPlotsVec(std::vector<std::pair<std::vector<std::pair<double, double> >, std::string> >);
73  void setGlFitDataCore(evt::Event& event);
74  void setGlFitDataDirection(evt::Event& event);
75  int calcNDF(ROOT::Minuit2::MnUserParameters upar, int nrSigSt);
76  double XmaxFromRmax(evt::Event& event, double rmax, double zenithInLocalCS);
78  utl::CoordinateSystemPtr targetCS);
79  private:
80  // The REGISTER_MODULE macro makes the framework aware of your module.
81  // You need to put this macro at the very end of your module class definition.
82  // Give your module a name (first argument) and specify its
83  // class name (second argument). In the ModuleSequenceExample.xml file,
84  // you can see this module being refered to by the name we give it here.
86  enum InfoLevel {
87  eNone = 0,
88  eFinal = 1,
90  eObscure = 3,
91  eDebug = 4
92  };
93 
95 
101 
102 REGISTER_MODULE("RdGlobalFit", RdGlobalFit);
103 };
104 
105 }
106 
107 #endif
utl::CoordinateSystemPtr getlocalCSPtr(evt::Event &event)
Point object.
Definition: Point.h:32
utl::CoordinateSystemPtr fLocalCS
Definition: RdGlobalFit.h:85
int calcNDF(ROOT::Minuit2::MnUserParameters upar, int nrSigSt)
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
Definition: RdGlobalFit.cc:339
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
Definition: RdGlobalFit.cc:115
LDFConstsTable fLDFConstsTable
Definition: RdGlobalFit.h:99
double XmaxFromRmax(evt::Event &event, double rmax, double zenithInLocalCS)
RdGlobalFitData fGlobalFitData
Definition: RdGlobalFit.h:98
utl::Point adaptSDCoreTofLocalCS(evt::Event &event)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
void setGlFitDataCore(evt::Event &event)
REGISTER_MODULE("RdGlobalFit", RdGlobalFit)
calcLDFConsts fcalcLDFConsts
Definition: RdGlobalFit.h:100
void printPlotsVec(std::vector< std::pair< std::vector< std::pair< double, double > >, std::string > >)
void setGlFitDataStartValues(evt::Event &event)
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
void setGlFitDataDirection(evt::Event &event)
Module interface.
Definition: VModule.h:53
utl::Point getCoreInCSPlane(utl::Point core, utl::Vector &axis, utl::CoordinateSystemPtr targetCS)
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
std::vector< std::pair< std::vector< std::pair< double, double > >, std::string > > scanParameters(RdGlobalFitMinimizationCriterion, ROOT::Minuit2::FunctionMinimum, std::vector< std::string >)
Definition: RdGlobalFit.cc:981
Vector object.
Definition: Vector.h:30
Definition: XbArray.h:7

, generated on Tue Sep 26 2023.