Belle II Software  release-05-02-19
HitXPModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Valerio Bertacchi *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef HITHIT_H
12 #define HITHIT_H
13 
14 #include <framework/core/Module.h>
15 #include <TTree.h>
16 #include <tracking/dataobjects/hitXP.h>
17 #include <TFile.h>
18 
19 namespace Belle2 {
40  class HitXPModule : public Module {
41  public:
42 
43  HitXPModule();
44 
45  ~HitXPModule();
46 
49  void initialize() override;
50 
52  void beginRun() override;
53 
56  void event() override;
57 
59  void endRun() override;
60 
62  void terminate() override;
63 
64  private:
65  TTree* m_tree = nullptr;
66  TFile* m_outputFile = nullptr;
67  std::vector<hitXP> m_hitXP;
68  std::set<hitXP, hitXP::timeCompare> m_hitXPSet;
69  bool c_addTree;
71  int m_trackNumber = 0;
72  int m_eventNumber = 0;
74  int m_trackIterator = 0;
75  int m_eventIterator = 0;
77  TTree* m_treeSel = nullptr;
78  TFile* m_outputFileSel = nullptr;
79  std::vector<hitXP> m_hitXPSel;
80  int m_trackNumberSel = 0;
81  int m_eventNumberSel = 0;
84  TTree* m_treeTiSel = nullptr;
85  TFile* m_outputFileTiSel = nullptr;
86  std::vector<hitXP> m_hitXPTiSel;
91  TFile* m_outputFileExt = nullptr;
92  TTree* m_treeExt = nullptr;
93  std::vector<double> m_EpositionEntryX;
94  std::vector<double> m_EpositionEntryY;
95  std::vector<double> m_EpositionEntryZ;
96  std::vector<double> m_EmomentumEntryX;
97  std::vector<double> m_EmomentumEntryY;
98  std::vector<double> m_EmomentumEntryZ;
99  std::vector<double> m_EpositionLocalEntryX;
100  std::vector<double> m_EpositionLocalEntryY;
101  std::vector<double> m_EpositionLocalEntryZ;
102  std::vector<int> m_EPDGID;
103  std::vector<double> m_Eposition0X;
104  std::vector<double> m_Eposition0Y;
105  std::vector<double> m_Eposition0Z;
106  std::vector<double> m_Emomentum0X;
107  std::vector<double> m_Emomentum0Y;
108  std::vector<double> m_Emomentum0Z;
109  std::vector<double> m_Etime;
110  std::vector<int> m_EsensorSensor;
111  std::vector<int> m_EsensorLayer;
112  std::vector<int> m_EsensorLadder;
113  std::vector<int> m_Ereconstructed;
114  std::vector<int> m_EclusterU;
115  std::vector<int> m_EclusterV;
116  std::vector<double> m_Echarge;
117  int m_EtrackNumber = 0;
118  int m_EeventNumber = 0;
120  std::vector<double> m_EomegaEntry;
121  std::vector<double> m_Eomega0;
122  std::vector<double> m_Ed0Entry;
123  std::vector<double> m_Ed00;
124  std::vector<double> m_Ephi0Entry;
125  std::vector<double> m_Ephi00;
126  std::vector<double> m_Ez0Entry;
127  std::vector<double> m_Ez00;
128  std::vector<double> m_EtanlambdaEntry;
129  std::vector<double> m_Etanlambda0;
130  int m_Eprimary = 0;
132  protected:
133 
134  };
136 }
137 #endif
Belle2::HitXPModule::m_Ephi0Entry
std::vector< double > m_Ephi0Entry
external phi0 parameter at entry point
Definition: HitXPModule.h:132
Belle2::HitXPModule::initialize
void initialize() override
Initialize the Module.
Definition: HitXPModule.cc:45
Belle2::HitXPModule::m_trackNumberTiSel
int m_trackNumberTiSel
tight selected iterative number of the track in the run
Definition: HitXPModule.h:95
Belle2::HitXPModule::endRun
void endRun() override
This method is called if the current run ends.
Definition: HitXPModule.cc:366
Belle2::HitXPModule::m_EpositionLocalEntryX
std::vector< double > m_EpositionLocalEntryX
exteral local position at entry point, coordinate x
Definition: HitXPModule.h:107
Belle2::HitXPModule::m_hitXP
std::vector< hitXP > m_hitXP
vector of the hitXP, used to fill the output tree
Definition: HitXPModule.h:75
Belle2::HitXPModule::m_Ez0Entry
std::vector< double > m_Ez0Entry
external z0 parameter at entry point
Definition: HitXPModule.h:134
Belle2::HitXPModule::m_outputFile
TFile * m_outputFile
output file
Definition: HitXPModule.h:74
Belle2::HitXPModule::m_EpositionLocalEntryY
std::vector< double > m_EpositionLocalEntryY
exteral local position at entry point, coordinate y
Definition: HitXPModule.h:108
Belle2::HitXPModule::m_EpositionEntryX
std::vector< double > m_EpositionEntryX
exteral position at entry point, coordinate x
Definition: HitXPModule.h:101
Belle2::HitXPModule::m_outputFileExt
TFile * m_outputFileExt
external output file
Definition: HitXPModule.h:99
Belle2::HitXPModule::m_EtanlambdaEntry
std::vector< double > m_EtanlambdaEntry
external tanlambda parameter at entry point
Definition: HitXPModule.h:136
Belle2::HitXPModule::m_Eprimary
int m_Eprimary
external flag for primary particles
Definition: HitXPModule.h:138
Belle2::HitXPModule::m_trackNumberSel
int m_trackNumberSel
selected iterative number of the track in the run
Definition: HitXPModule.h:88
Belle2::HitXPModule::m_Etime
std::vector< double > m_Etime
external time of the hit
Definition: HitXPModule.h:117
Belle2::HitXPModule::m_hitXPSel
std::vector< hitXP > m_hitXPSel
selected vector of hitXP
Definition: HitXPModule.h:87
Belle2::HitXPModule::m_treeTiSel
TTree * m_treeTiSel
tight selected output tree
Definition: HitXPModule.h:92
Belle2::HitXPModule::m_EpositionEntryY
std::vector< double > m_EpositionEntryY
exteral position at entry point, coordinate y
Definition: HitXPModule.h:102
Belle2::HitXPModule::m_trackNumber
int m_trackNumber
iterative number of the track in the run
Definition: HitXPModule.h:79
Belle2::HitXPModule::m_Ereconstructed
std::vector< int > m_Ereconstructed
external flag of track-reconstruction or not
Definition: HitXPModule.h:121
Belle2::HitXPModule::m_EmomentumEntryY
std::vector< double > m_EmomentumEntryY
exteral momentum at entry point, coordinate x
Definition: HitXPModule.h:105
Belle2::HitXPModule::m_eventNumberTiSel
int m_eventNumberTiSel
tight selected interative number of the event in the run
Definition: HitXPModule.h:96
Belle2::HitXPModule::m_numberHitPerTrack
int m_numberHitPerTrack
counter of the number of the hit for each track
Definition: HitXPModule.h:81
Belle2::HitXPModule::m_EmomentumEntryZ
std::vector< double > m_EmomentumEntryZ
exteral momentum at entry point, coordinate x
Definition: HitXPModule.h:106
Belle2::HitXPModule::m_tree
TTree * m_tree
full output tree
Definition: HitXPModule.h:73
Belle2::HitXPModule::m_eventNumber
int m_eventNumber
interative number of the event in the run
Definition: HitXPModule.h:80
Belle2::HitXPModule::m_eventNumberSel
int m_eventNumberSel
selected interative number of the event in the run
Definition: HitXPModule.h:89
Belle2::HitXPModule::m_Ephi00
std::vector< double > m_Ephi00
external phi0 parameter at IP
Definition: HitXPModule.h:133
Belle2::HitXPModule::m_hitXPTiSel
std::vector< hitXP > m_hitXPTiSel
tight selected vector of hitXP
Definition: HitXPModule.h:94
Belle2::HitXPModule::terminate
void terminate() override
This method is called at the end of the event processing.
Definition: HitXPModule.cc:398
Belle2::HitXPModule::m_EomegaEntry
std::vector< double > m_EomegaEntry
external omega parameter at entry point
Definition: HitXPModule.h:128
Belle2::HitXPModule::m_EnumberHitPerTrack
int m_EnumberHitPerTrack
external numer of the hit for each track
Definition: HitXPModule.h:127
Belle2::HitXPModule::m_trackIterator
int m_trackIterator
iterator used to count track (m_trackNumber)
Definition: HitXPModule.h:82
Belle2::HitXPModule::m_Eposition0Y
std::vector< double > m_Eposition0Y
extral position at IP, coordinate y
Definition: HitXPModule.h:112
Belle2::HitXPModule::m_hitXPSet
std::set< hitXP, hitXP::timeCompare > m_hitXPSet
set of the hitXP, used to order tn time he hit
Definition: HitXPModule.h:76
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::HitXPModule::beginRun
void beginRun() override
Called when entering a new run.
Definition: HitXPModule.cc:159
Belle2::HitXPModule::HitXPModule
HitXPModule()
Definition: HitXPModule.cc:27
Belle2::HitXPModule::m_Etanlambda0
std::vector< double > m_Etanlambda0
external tanlambda parameter at IP
Definition: HitXPModule.h:137
Belle2::HitXPModule::m_treeSel
TTree * m_treeSel
selected output tree
Definition: HitXPModule.h:85
Belle2::HitXPModule::m_Eomega0
std::vector< double > m_Eomega0
external omega parameter at IP
Definition: HitXPModule.h:129
Belle2::HitXPModule::m_EclusterU
std::vector< int > m_EclusterU
external flag of u-cluster
Definition: HitXPModule.h:122
Belle2::HitXPModule::m_EsensorSensor
std::vector< int > m_EsensorSensor
external sensor of the hit
Definition: HitXPModule.h:118
Belle2::HitXPModule::m_EeventNumber
int m_EeventNumber
external iterator of event in the run
Definition: HitXPModule.h:126
Belle2::HitXPModule::m_outputFileTiSel
TFile * m_outputFileTiSel
tight selected output file
Definition: HitXPModule.h:93
Belle2::HitXPModule::m_Echarge
std::vector< double > m_Echarge
external charge
Definition: HitXPModule.h:124
Belle2::HitXPModule::m_eventIterator
int m_eventIterator
iterator used to count event number (m_eventNumber)
Definition: HitXPModule.h:83
Belle2::HitXPModule::c_addTree
bool c_addTree
parameter to produce additional tree
Definition: HitXPModule.h:77
Belle2::HitXPModule::m_Emomentum0Y
std::vector< double > m_Emomentum0Y
extral momentum at IP, coordinate y
Definition: HitXPModule.h:115
Belle2::HitXPModule::m_EpositionLocalEntryZ
std::vector< double > m_EpositionLocalEntryZ
exteral local position at entry point, coordinate z
Definition: HitXPModule.h:109
Belle2::HitXPModule::m_outputFileSel
TFile * m_outputFileSel
selected output file
Definition: HitXPModule.h:86
Belle2::HitXPModule::m_Emomentum0Z
std::vector< double > m_Emomentum0Z
extral momentum at IP, coordinate z
Definition: HitXPModule.h:116
Belle2::HitXPModule::m_Eposition0Z
std::vector< double > m_Eposition0Z
extral position at IP, coordinate z
Definition: HitXPModule.h:113
Belle2::HitXPModule::m_treeExt
TTree * m_treeExt
external output tree
Definition: HitXPModule.h:100
Belle2::HitXPModule::m_EsensorLadder
std::vector< int > m_EsensorLadder
external ladder of the hit
Definition: HitXPModule.h:120
Belle2::HitXPModule::m_Ed0Entry
std::vector< double > m_Ed0Entry
external d0 parameter at entry point
Definition: HitXPModule.h:130
Belle2::HitXPModule::m_EtrackNumber
int m_EtrackNumber
external iterator of track in the run
Definition: HitXPModule.h:125
Belle2::HitXPModule::m_Ez00
std::vector< double > m_Ez00
external z0 parameter at IP
Definition: HitXPModule.h:135
Belle2::HitXPModule::m_EclusterV
std::vector< int > m_EclusterV
external flag of v-cluster
Definition: HitXPModule.h:123
Belle2::HitXPModule::m_EpositionEntryZ
std::vector< double > m_EpositionEntryZ
exteral position at entry point, coordinate z
Definition: HitXPModule.h:103
Belle2::HitXPModule::m_numberHitPerTrackTiSel
int m_numberHitPerTrackTiSel
tight selected counter of the number of the hit for each track
Definition: HitXPModule.h:97
Belle2::HitXPModule::m_Ed00
std::vector< double > m_Ed00
external d0 parameter at IP
Definition: HitXPModule.h:131
Belle2::HitXPModule::m_EPDGID
std::vector< int > m_EPDGID
external PDGID
Definition: HitXPModule.h:110
Belle2::HitXPModule::m_Emomentum0X
std::vector< double > m_Emomentum0X
extral momentum at IP, coordinate x
Definition: HitXPModule.h:114
Belle2::HitXPModule::m_numberHitPerTrackSel
int m_numberHitPerTrackSel
selected counter of the number of the hit for each track
Definition: HitXPModule.h:90
Belle2::HitXPModule::m_EmomentumEntryX
std::vector< double > m_EmomentumEntryX
exteral momentum at entry point, coordinate x
Definition: HitXPModule.h:104
Belle2::HitXPModule::m_Eposition0X
std::vector< double > m_Eposition0X
extral position at IP, coordinate x
Definition: HitXPModule.h:111
Belle2::HitXPModule::m_EsensorLayer
std::vector< int > m_EsensorLayer
external layer of the hit
Definition: HitXPModule.h:119
Belle2::HitXPModule::event
void event() override
This method is the core of the module.
Definition: HitXPModule.cc:161