REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
TRestTrackBlobAnalysisProcess.h
1 
12 #ifndef RestCore_TRestTrackBlobAnalysisProcess
13 #define RestCore_TRestTrackBlobAnalysisProcess
14 
15 #include <TRestTrackEvent.h>
16 
17 #include "TRestEventProcess.h"
18 
20  private:
21 #ifndef __CINT__
22  TRestTrackEvent* fInputTrackEvent;
23  TRestTrackEvent* fOutputTrackEvent;
24 
25  // Q1 and Q2
26  std::vector<std::string> fQ1_Observables;
27  std::vector<double> fQ1_Radius;
28 
29  std::vector<std::string> fQ2_Observables;
30  std::vector<double> fQ2_Radius;
31 
32  std::vector<std::string> fQ1_X_Observables;
33  std::vector<double> fQ1_X_Radius;
34 
35  std::vector<std::string> fQ2_X_Observables;
36  std::vector<double> fQ2_X_Radius;
37 
38  std::vector<std::string> fQ1_Y_Observables;
39  std::vector<double> fQ1_Y_Radius;
40 
41  std::vector<std::string> fQ2_Y_Observables;
42  std::vector<double> fQ2_Y_Radius;
44 
45  // Qhigh and Qlow
46  std::vector<std::string> fQhigh_Observables;
47  std::vector<double> fQhigh_Radius;
48 
49  std::vector<std::string> fQlow_Observables;
50  std::vector<double> fQlow_Radius;
51 
52  std::vector<std::string> fQhigh_X_Observables;
53  std::vector<double> fQhigh_X_Radius;
54 
55  std::vector<std::string> fQlow_X_Observables;
56  std::vector<double> fQlow_X_Radius;
57 
58  std::vector<std::string> fQhigh_Y_Observables;
59  std::vector<double> fQhigh_Y_Radius;
60 
61  std::vector<std::string> fQlow_Y_Observables;
62  std::vector<double> fQlow_Y_Radius;
64 
65  // Qbalance and Qratio
66  std::vector<std::string> fQbalance_Observables;
67  std::vector<double> fQbalance_Radius;
68 
69  std::vector<std::string> fQratio_Observables;
70  std::vector<double> fQratio_Radius;
71 
72  std::vector<std::string> fQbalance_X_Observables;
73  std::vector<double> fQbalance_X_Radius;
74 
75  std::vector<std::string> fQratio_X_Observables;
76  std::vector<double> fQratio_X_Radius;
77 
78  std::vector<std::string> fQbalance_Y_Observables;
79  std::vector<double> fQbalance_Y_Radius;
80 
81  std::vector<std::string> fQratio_Y_Observables;
82  std::vector<double> fQratio_Y_Radius;
84 
85 #endif
86 
87  Double_t fHitsToCheckFraction;
88 
89  void InitFromConfigFile() override;
90 
91  void Initialize() override;
92 
93  void LoadDefaultConfig();
94 
95  protected:
96  // add here the members of your event process
97 
98  public:
99  RESTValue GetInputEvent() const override { return fInputTrackEvent; }
100  RESTValue GetOutputEvent() const override { return fOutputTrackEvent; }
101 
102  void InitProcess() override;
103  TRestEvent* ProcessEvent(TRestEvent* inputEvent) override;
104  void EndProcess() override;
105 
106  void LoadConfig(const std::string& configFilename, const std::string& name = "");
107 
108  void PrintMetadata() override {
110 
111  RESTMetadata << " Hits to check factor : " << fHitsToCheckFraction << RESTendl;
112 
113  EndPrintProcess();
114  }
115 
116  const char* GetProcessName() const override { return "findTrackBlobs"; }
117 
118  // Constructor
120  TRestTrackBlobAnalysisProcess(const char* configFilename);
121  // Destructor
123 
124  ClassDefOverride(TRestTrackBlobAnalysisProcess, 1); // Template for a REST "event process" class
125  // inherited from TRestEventProcess
126 };
127 #endif
A base class for any REST event process.
void BeginPrintProcess()
[name, cut range]
A base class for any REST event.
Definition: TRestEvent.h:38
endl_t RESTendl
Termination flag object for TRestStringOutput.
RESTValue GetInputEvent() const override
Get pointer to input event. Must be implemented in the derived class.
void InitProcess() override
To be executed at the beginning of the run (outside event loop)
void EndProcess() override
To be executed at the end of the run (outside event loop)
void Initialize() override
Making default settings.
void PrintMetadata() override
Implemented it in the derived metadata class to print out specific metadata information.
TRestEvent * ProcessEvent(TRestEvent *inputEvent) override
Process one event.
RESTValue GetOutputEvent() const override
Get pointer to output event. Must be implemented in the derived class.
void InitFromConfigFile() override
To make settings from rml file. This method must be implemented in the derived class.