/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/fit/include/RAT/FitDirectionCenterProc.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/fit/include/RAT/FitDirectionCenterProc.hh Source File
Ratpac-two
FitDirectionCenterProc.hh
1 
17 #ifndef __RAT_FitDirectionCenterProc__
18 #define __RAT_FitDirectionCenterProc__
19 
20 #include <RAT/FitterInputHandler.hh>
21 #include <RAT/Processor.hh>
22 #include <string>
23 
24 namespace RAT {
25 
26 namespace DS {
27 class Root;
28 class EV;
29 } // namespace DS
30 
32  public:
33  FitDirectionCenterProc() : Processor("fitdirectioncenter"), inputHandler(){};
34  virtual ~FitDirectionCenterProc() {}
35 
36  void BeginOfRun(DS::Run *run);
37 
38  virtual void SetI(std::string param, int value);
39 
40  virtual void SetD(std::string param, double value);
41 
42  virtual void SetS(std::string param, std::string value);
43 
44  virtual Processor::Result Event(DS::Root *ds, DS::EV *ev);
45 
46  protected:
47  void SetPlaceholderFOM(DS::FitResult *fit);
48 
49  std::vector<int> fPMTtype; // Types of PMT to use in reconstruction. If empty, uses all PMT types.
50  std::string fFitLabel = ""; // Label for the fit result. User can specify.
51  std::string fPosFitter; // Position fitter from which to get reconstructed position.
52  std::string fDirFitter; // Direction fitter from which to get reconstructed direction for drive.
53  std::string fCutMethod; // "time" selects time residuals in [fTimeResLow,fTimeResUp] ns.
54  // "fraction" selects time residuals in [fTimeResFracLow,fTimeResFracUp].
55  double fTimeResLow = -10.0; // Lower cut on time residuals in ns
56  double fTimeResUp = 50.0; // Upper cut on time residuals in ns
57  double fTimeResFracLow = 0.0; // Lower cut on time residuals as a fraction in [0.0, 1.0)
58  double fTimeResFracUp = 1.0; // Upper cut on time residuals as a fraction in (0.0, 1.0]
59  double fLightSpeed = 0.0; // mm / ns. Speed of light in material. Defaults to value in FITTER.ratdb
60  double fDrive = 0.0; // mm. User-specified bias applied to event positions.
61  double fFixedTime = 0.0; // ns. User-specified event time.
62  TVector3 fFixedPosition; // mm. User-specified event position.
63  std::string fPosMethod;
64  DS::PMTInfo *fPMTInfo;
65  FitterInputHandler inputHandler;
66 };
67 
68 } // namespace RAT
69 
70 #endif // __RAT_FitDirectionCenterProc__
Definition: EV.hh:33
Definition: FitResult.hh:15
Definition: PMTInfo.hh:19
Definition: Root.hh:39
Definition: Run.hh:22
Definition: FitDirectionCenterProc.hh:31
virtual Processor::Result Event(DS::Root *ds, DS::EV *ev)
Definition: FitDirectionCenterProc.cc:94
virtual void SetS(std::string param, std::string value)
Definition: FitDirectionCenterProc.cc:27
virtual void SetD(std::string param, double value)
Definition: FitDirectionCenterProc.cc:47
virtual void SetI(std::string param, int value)
Definition: FitDirectionCenterProc.cc:40
Definition: FitterInputHandler.hh:26
Definition: Processor.hh:36
Processor(std::string _name)
Definition: Processor.hh:51
Result
Definition: Processor.hh:59
Definition: CCCrossSecMessenger.hh:29