REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
TRestTrackBlobAnalysisProcess.h
1
11
12#ifndef RestCore_TRestTrackBlobAnalysisProcess
13#define RestCore_TRestTrackBlobAnalysisProcess
14
15#include <TRestEventProcess.h>
16
17#include "TRestTrackEvent.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.