Belle II Software development
NoKickRTSel Class Reference

This class implement some methods useful for the application of cuts evaluated in NoKickCutsEval module. More...

#include <NoKickRTSel.h>

Inheritance diagram for NoKickRTSel:

Public Member Functions

 NoKickRTSel (const std::string &fileName, bool outputHisto)
 Constructor with input file for use specific cuts file and allows validation.
 
 NoKickRTSel ()
 Empty Constructor that uses the defaults cuts file.
 
void initNoKickRTSel ()
 Initialize the class cleaning the member vectors.
 
void hitXPBuilder (const RecoTrack &track)
 this method build a vector of hitXP from a track.
 
void hit8TrackBuilder (const RecoTrack &track)
 this method build a vector of hitXP from a track selecting the first hit on each layer of VXD (8 hit for SVD only, counting overlaps).
 
bool trackSelector (const RecoTrack &track)
 This method return true if every segment (see segmentSelector) of the input track respects the cuts constraints.
 
bool segmentSelector (const hitXP &hit1, const hitXP &hit2, const std::vector< double > &selCut, NoKickCuts::EParameters par, bool is0=false)
 This method return true if a couple of hits resects the cuts constraints.
 
bool globalCut (const std::vector< hitXP > &track8)
 This method make some global cuts on the tracks (layer 3 and 6 required, d0 and z0 inside beam pipe).
 
void initHistoNoKick (bool outHisto)
 This method initialize some validation histograms of the Training Sample Selection.
 
void produceHistoNoKick ()
 This method produce the validation histograms (to be used the endrun combined with the filling in trackSelector method)
 
 ClassDef (NoKickRTSel, 2)
 Making this class a ROOT class.
 

Public Attributes

std::vector< hitXPm_hitXP
 vector of hit, to convert the track
 
std::set< hitXP, hitXP::timeComparem_setHitXP
 set of hit to order the hit in time
 
std::vector< hitXPm_8hitTrack
 vector of selected hit
 
NoKickCuts m_trackCuts
 auxiliary member to apply the cuts
 
double m_pmax = 10.
 range analyzed with cuts
 
double m_pMag
 momentum magnitut
 
double m_pt
 transverse momentum
 
double m_pdgID
 pdg Code
 
TFile * m_noKickOutputTFile
 validation output TFile
 
TTree * m_noKickTree
 TTree to which the information is written.
 
TH1F * m_momSel
 histogram of selected tracks
 
TH1F * m_momCut
 histogram of cut tracks
 
TH1F * m_momEff
 histogram for efficiency
 
TH1F * m_PDGIDCut
 histogram for PDGID of cut track
 
TH1F * m_PDGIDSel
 histogram for PDGID of selected track
 
TH1F * m_PDGIDEff
 histogram for efficiency for each PDGID
 
TH1F * m_nCutHit
 histogram for number of cut hist per track
 
int m_numberOfCuts
 number of catastrophic interaction for each track
 
int m_Ncuts
 number of times the cut is applied on a particle
 
bool m_outputFlag
 true=produce validation output
 
bool m_isCutted
 Indicator if cut is applied.
 

Detailed Description

This class implement some methods useful for the application of cuts evaluated in NoKickCutsEval module.

Use and auxiliary class (NoKickCuts) that contains the cuts used in selection.

Definition at line 33 of file NoKickRTSel.h.

Constructor & Destructor Documentation

◆ NoKickRTSel() [1/2]

NoKickRTSel ( const std::string & fileName,
bool outputHisto )
inline

Constructor with input file for use specific cuts file and allows validation.

Definition at line 61 of file NoKickRTSel.h.

61 :
62 m_trackCuts(fileName)
63 {
64 m_outputFlag = false;
65 initNoKickRTSel();
66 initHistoNoKick(outputHisto);
67 }

◆ NoKickRTSel() [2/2]

NoKickRTSel ( )
inline

Empty Constructor that uses the defaults cuts file.

Definition at line 70 of file NoKickRTSel.h.

70 :
71 m_trackCuts()
72 {
73 initNoKickRTSel();
74 }

Member Function Documentation

◆ globalCut()

bool globalCut ( const std::vector< hitXP > & track8)

This method make some global cuts on the tracks (layer 3 and 6 required, d0 and z0 inside beam pipe).

Return false if this filter fails. input (the selected hit of the track)

Definition at line 111 of file NoKickRTSel.cc.

112{
113 int flagd0 = 1;
114 int flagz0 = 1;
115 int lay3 = 0;
116 int lay4 = 0;
117 int lay5 = 0;
118 int lay6 = 0;
119 for (const hitXP& XP : track8) {
120 if (XP.getSensorLayer() == 3) lay3 = 1;
121 if (XP.getSensorLayer() == 4) lay4 = 1;
122 if (XP.getSensorLayer() == 5) lay5 = 1;
123 if (XP.getSensorLayer() == 6) lay6 = 1;
124 // if (fabs(XP.getD0Entry()) > 1.) flagd0 = 0;
125 // if (fabs(XP.getZ0Entry()) > 1.) flagz0 = 0;
126 }
127 int N_lay = lay3 + lay4 + lay5 + lay6;
128 if (N_lay >= 3) N_lay = 1;
129 else N_lay = 0;
130 int flagTot = flagd0 * flagz0 * N_lay;
131 if (flagTot == 1) return true;
132 else return false;
133}

◆ hit8TrackBuilder()

void hit8TrackBuilder ( const RecoTrack & track)

this method build a vector of hitXP from a track selecting the first hit on each layer of VXD (8 hit for SVD only, counting overlaps).

The output is the member of the class. input (one reconstructed track)

Definition at line 96 of file NoKickRTSel.cc.

97{
98 hitXPBuilder(track);
99 for (const hitXP& XP : m_hitXP) {
100 if (m_8hitTrack.size() < 1) {
101 m_8hitTrack.push_back(XP);
102 } else if (XP.m_sensorLayer != m_8hitTrack.back().m_sensorLayer ||
103 XP.m_sensorLadder != m_8hitTrack.back().m_sensorLadder ||
104 XP.m_sensorSensor != m_8hitTrack.back().m_sensorSensor) {
105 m_8hitTrack.push_back(XP);
106 }
107 }
108
109}
std::vector< hitXP > m_8hitTrack
vector of selected hit
Definition NoKickRTSel.h:38
void hitXPBuilder(const RecoTrack &track)
this method build a vector of hitXP from a track.
std::vector< hitXP > m_hitXP
vector of hit, to convert the track
Definition NoKickRTSel.h:36

◆ hitXPBuilder()

void hitXPBuilder ( const RecoTrack & track)

this method build a vector of hitXP from a track.

The output is the member of the class. input (one reconstructed track)

Definition at line 21 of file NoKickRTSel.cc.

22{
23 StoreArray<SVDCluster> SVDClusters;
24 StoreArray<SVDTrueHit> SVDTrueHits;
25 StoreArray<MCParticle> MCParticles;
26 StoreArray<RecoTrack> recoTracks;
27
28 if (track.getRelationsTo<MCParticle>().size() > 0) {
29
30 const MCParticle* particle = track.getRelationsTo<MCParticle>()[0];
31
32 std::vector<Belle2::RecoHitInformation::UsedSVDHit*> clusterListSVD = track.getSVDHitList();
33 for (const SVDCluster* cluster : clusterListSVD) {
34 for (const SVDTrueHit& hit : cluster->getRelationsTo<SVDTrueHit>()) {
35 RelationVector<MCParticle> hitFromParticle = hit.getRelationsFrom<MCParticle>();
36 if (hitFromParticle.size() > 0) {
37 if (hitFromParticle[0]->getIndex() != particle->getIndex()) {
38 continue;
39 }
40 } else continue;
41 VxdID trueHitSensorID = hit.getSensorID();
42 const VXD::SensorInfoBase& sensorInfo = VXD::GeoCache::getInstance().getSensorInfo(trueHitSensorID);
43 hitXPDerivate entry(hit, *cluster, *particle, sensorInfo);
44 int NClusterU = 0;
45 int NClusterV = 0;
46 for (const SVDCluster& Ncluster : hit.getRelationsFrom<SVDCluster>()) {
47 if (Ncluster.isUCluster()) NClusterU++;
48 else NClusterV++;
49 }
50 entry.setClusterU(NClusterU);
51 entry.setClusterV(NClusterV);
52
53 bool isReconstructed(false);
54 for (const RecoTrack& aRecoTrack : particle->getRelationsFrom<RecoTrack>())
55 isReconstructed |= aRecoTrack.hasSVDHits();
56 entry.setReconstructed(isReconstructed);
57
58 m_setHitXP.insert(entry);
59 }
60 }
61
62
63 StoreArray<PXDCluster> PXDClusters;
64 StoreArray<PXDTrueHit> PXDTrueHits;
65
66 std::vector<Belle2::RecoHitInformation::UsedPXDHit*> clusterListPXD = track.getPXDHitList();
67 for (const PXDCluster* cluster : clusterListPXD) {
68 for (const PXDTrueHit& hit : cluster->getRelationsTo<PXDTrueHit>()) {
69 RelationVector<MCParticle> hitFromParticle = hit.getRelationsFrom<MCParticle>();
70 if (hitFromParticle.size() > 0) {
71 if (hitFromParticle[0]->getIndex() != particle->getIndex()) {
72 continue;
73 }
74 } else continue;
75 VxdID trueHitSensorID = hit.getSensorID();
76 const VXD::SensorInfoBase& sensorInfo = VXD::GeoCache::getInstance().getSensorInfo(trueHitSensorID);
77 hitXPDerivate entry(hit, *particle, sensorInfo);
78
79 bool isReconstructed(false);
80 for (const RecoTrack& aRecoTrack : particle->getRelationsFrom<RecoTrack>())
81 isReconstructed |= aRecoTrack.hasPXDHits();
82 entry.setReconstructed(isReconstructed);
83
84 m_setHitXP.insert(entry);
85 }
86 }
87
88 for (const auto& element : m_setHitXP) {
89 m_hitXP.push_back(element);
90 }
91
92 }
93
94}
std::set< hitXP, hitXP::timeCompare > m_setHitXP
set of hit to order the hit in time
Definition NoKickRTSel.h:37
size_t size() const
Get number of relations.
const SensorInfoBase & getSensorInfo(Belle2::VxdID id) const
Return a reference to the SensorInfo of a given SensorID.
Definition GeoCache.cc:67
static GeoCache & getInstance()
Return a reference to the singleton instance.
Definition GeoCache.cc:214

◆ initHistoNoKick()

void initHistoNoKick ( bool outHisto)
inline

This method initialize some validation histograms of the Training Sample Selection.

The input boolean allows the initialization, otherwise the method is empty (no validation)

Definition at line 120 of file NoKickRTSel.h.

121 {
122 if (outHisto) {
123 m_noKickOutputTFile = new TFile("TrackSelection_NoKick.root", "RECREATE");
124 m_momSel = new TH1F("m_momSel", "m_momSel", 100, 0, 4);
125 m_momCut = new TH1F("m_momCut", "m_momCut", 100, 0, 4);
126 m_momEff = new TH1F("m_momEff", "m_momEff", 100, 0, 4);
127
128 m_PDGIDSel = new TH1F("m_PDGIDSel", "m_PDGIDSel", 6000, -3000, 3000);
129 m_PDGIDCut = new TH1F("m_PDGIDCut", "m_PDGIDCut", 6000, -3000, 3000);
130 m_PDGIDEff = new TH1F("m_PDGIDEff", "m_PDGIDEff", 6000, -3000, 3000);
131
132 m_nCutHit = new TH1F("m_nCutHit", "m_nCutHit", 30, 0, 30);
133
134
135 m_noKickTree = new TTree("noKickTree", "noKickTree");
136 m_noKickTree->Branch("is_rejected", &m_isCutted);
137 m_noKickTree->Branch("p_mag", &m_pMag);
138 m_noKickTree->Branch("pt", &m_pt);
139 m_noKickTree->Branch("pdgID", &m_pdgID);
140 m_noKickTree->Branch("number_of_rejected_SP", &m_Ncuts);
141
142 m_outputFlag = true;
143 }
144
145 }

◆ initNoKickRTSel()

void initNoKickRTSel ( )
inline

Initialize the class cleaning the member vectors.

Definition at line 77 of file NoKickRTSel.h.

78 {
79 m_hitXP.clear();
80 m_setHitXP.clear();
81 m_8hitTrack.clear();
82 m_numberOfCuts = 0;
83 }

◆ produceHistoNoKick()

void produceHistoNoKick ( )

This method produce the validation histograms (to be used the endrun combined with the filling in trackSelector method)

Definition at line 278 of file NoKickRTSel.cc.

279{
280 if (m_outputFlag) {
282 m_momSel->Write();
283 m_momCut->Write();
284
285 m_momEff->Add(m_momSel, 1);
286 m_momEff->Add(m_momCut, 1);
287 m_momEff->Divide(m_momSel, m_momEff, 1, 1);
288 m_momEff->Write();
289
290 m_PDGIDSel->Write();
291 m_PDGIDCut->Write();
292
293 m_PDGIDEff->Add(m_PDGIDSel, 1);
294 m_PDGIDEff->Add(m_PDGIDCut, 1);
295 m_PDGIDEff->Divide(m_PDGIDSel, m_PDGIDEff, 1, 1);
296 m_PDGIDEff->Write();
297
298 m_nCutHit->Write();
299
300 m_noKickTree->Write();
301
302 delete m_noKickOutputTFile;
303 }
304}
TFile * m_noKickOutputTFile
validation output TFile
Definition NoKickRTSel.h:45
TH1F * m_momEff
histogram for efficiency
Definition NoKickRTSel.h:49
TTree * m_noKickTree
TTree to which the information is written.
Definition NoKickRTSel.h:46
TH1F * m_PDGIDCut
histogram for PDGID of cut track
Definition NoKickRTSel.h:50
TH1F * m_PDGIDSel
histogram for PDGID of selected track
Definition NoKickRTSel.h:51
TH1F * m_PDGIDEff
histogram for efficiency for each PDGID
Definition NoKickRTSel.h:52
TH1F * m_momCut
histogram of cut tracks
Definition NoKickRTSel.h:48
bool m_outputFlag
true=produce validation output
Definition NoKickRTSel.h:57
TH1F * m_nCutHit
histogram for number of cut hist per track
Definition NoKickRTSel.h:53
TH1F * m_momSel
histogram of selected tracks
Definition NoKickRTSel.h:47

◆ segmentSelector()

bool segmentSelector ( const hitXP & hit1,
const hitXP & hit2,
const std::vector< double > & selCut,
NoKickCuts::EParameters par,
bool is0 = false )

This method return true if a couple of hits resects the cuts constraints.

input (first hit, second hit, selected cut to apply, track parameter, it is first hit the IP?)

Definition at line 135 of file NoKickRTSel.cc.

137{
138 if (hit2.m_sensorLayer - hit1.m_sensorLayer > 1) return true;
139 else {
140 double deltaPar = 0;
141 switch (par) {
142 case NoKickCuts::c_Omega:
143 deltaPar = fabs(hit1.getOmegaEntry() - hit2.getOmegaEntry());
144 if (is0) deltaPar = fabs(hit1.getOmega0() - hit2.getOmegaEntry());
145 // selCutPXD =0.4;
146 break;
147
148 case NoKickCuts::c_D0:
149 deltaPar = hit1.getD0Entry() - hit2.getD0Entry();
150 if (is0) deltaPar = hit1.getD00() - hit2.getD0Entry();
151 // selCutPXD =1;
152 break;
153
154 case NoKickCuts::c_Phi0:
155 deltaPar = asin(sin(hit1.getPhi0Entry())) - asin(sin(hit2.getPhi0Entry()));
156 if (is0) deltaPar = asin(sin(hit1.getPhi00())) - asin(sin(hit2.getPhi0Entry()));
157 // selCutPXD =0.3;
158 break;
159
160 case NoKickCuts::c_Z0:
161 deltaPar = hit1.getZ0Entry() - hit2.getZ0Entry();
162 if (is0) deltaPar = hit1.getZ00() - hit2.getZ0Entry();
163 // selCutPXD =1;
164 break;
165
166 case NoKickCuts::c_Tanlambda:
167 deltaPar = hit1.getTanLambdaEntry() - hit2.getTanLambdaEntry();
168 if (is0) deltaPar = hit1.getTanLambda0() - hit2.getTanLambdaEntry();
169 // selCutPXD =0.3;
170 break;
171 }
172
173 double usedCut = 0;
174 if (fabs(selCut.at(0)) > fabs(selCut.at(1))) {
175 usedCut = fabs(selCut.at(0));
176 } else usedCut = fabs(selCut.at(1));
177
178 if (deltaPar > -usedCut && deltaPar < usedCut) return true;
179 else {
180 B2DEBUG(20, "--------------------------");
181 B2DEBUG(20, "lay1=" << hit1.m_sensorLayer);
182 B2DEBUG(20, "lay2=" << hit2.m_sensorLayer);
183 B2DEBUG(20, "parameter=" << par);
184 B2DEBUG(20, "Min=" << selCut.at(0));
185 B2DEBUG(20, "Max=" << selCut.at(1));
186 B2DEBUG(20, "deltaPar=" << deltaPar);
187 B2DEBUG(20, "momentum=" << hit1.m_momentum0.R());
188 return false;
189 }
190 }
191}
double getOmegaEntry() const
evaluate relative parameter using entrypoint position and momentum
Definition hitXP.h:325
double getPhi00() const
evaluate relative parameter using IP position and momentum
Definition hitXP.h:367
double getZ0Entry() const
evaluate relative parameter using entrypoint position and momentum
Definition hitXP.h:373
double getOmega0() const
evaluate relative parameter using IP position and momentum
Definition hitXP.h:331
int m_sensorLayer
layer of the hit
Definition hitXP.h:58
double getD00() const
evaluate relative parameter using IP position and momentum
Definition hitXP.h:355
double getPhi0Entry() const
evaluate relative parameter using entrypoint position and momentum
Definition hitXP.h:361
double getZ00() const
evaluate relative parameter using IP position and momentum
Definition hitXP.h:379
double getTanLambda0() const
evaluate relative parameter using IP position and momentum
Definition hitXP.h:343
double getD0Entry() const
evaluate relative parameter using entrypoint position and momentum
Definition hitXP.h:349
double getTanLambdaEntry() const
evaluate relative parameter using entrypoint position and momentum
Definition hitXP.h:337
ROOT::Math::XYZVector m_momentum0
momentum at IP
Definition hitXP.h:47

◆ trackSelector()

bool trackSelector ( const RecoTrack & track)

This method return true if every segment (see segmentSelector) of the input track respects the cuts constraints.

input (one reconstructed track)

Definition at line 195 of file NoKickRTSel.cc.

196{
198 hit8TrackBuilder(track);
199
200 if (m_outputFlag) {
201 m_pdgID = m_8hitTrack[0].getPDGID();
202 m_pMag = track.getMomentumSeed().R();
203 m_pt = sqrt(track.getMomentumSeed().X() * track.getMomentumSeed().X() + track.getMomentumSeed().Y() * track.getMomentumSeed().Y());
204 }
205
206 bool good = globalCut(m_8hitTrack);
207 if (good == false) {
208 if (m_outputFlag) {
209 m_numberOfCuts = -1; //it means "no specific cuts applied, but rejected for global cuts"
211 m_isCutted = true;
213 m_momCut->Fill(track.getMomentumSeed().R());
214 m_PDGIDCut->Fill(track.getRelationsTo<MCParticle>()[0]->getPDG());
215 m_noKickTree->Fill();
216 }
217 return false;
218 }
219
220 if (track.getMomentumSeed().R() > m_pmax) {
221 if (m_outputFlag) {
223 m_isCutted = false;
225 m_momSel->Fill(track.getMomentumSeed().R());
226 m_PDGIDSel->Fill(track.getRelationsTo<MCParticle>()[0]->getPDG());
227 m_noKickTree->Fill();
228 }
229 return good;
230 }
231 for (int i = 0; i < (int)(m_8hitTrack.size() - 2); i++) {
232 double sinTheta = fabs(m_8hitTrack.at(i).m_momentum0.Y()) /
233 sqrt(pow(m_8hitTrack.at(i).m_momentum0.Y(), 2) +
234 pow(m_8hitTrack.at(i).m_momentum0.Z(), 2));
235
236 double momentum =
237 sqrt(pow(m_8hitTrack.at(i).m_momentum0.X(), 2) +
238 pow(m_8hitTrack.at(i).m_momentum0.Y(), 2) +
239 pow(m_8hitTrack.at(i).m_momentum0.Z(), 2));
240
241 for (int j = NoKickCuts::c_Omega; j <= NoKickCuts::c_Tanlambda; j++) { //track parameters loop
242 std::vector<double> selCut = m_trackCuts.cutSelector(sinTheta, momentum, m_8hitTrack.at(i).m_sensorLayer,
243 m_8hitTrack.at(i + 1).m_sensorLayer, (NoKickCuts::EParameters) j);
244 bool goodSeg = segmentSelector(m_8hitTrack.at(i), m_8hitTrack.at(i + 1), selCut, (NoKickCuts::EParameters) j);
245
246 if (!goodSeg) {
247 good = false;
249 }
250 if (i == 0) { //beampipe crossing
251 bool goodSeg0 = segmentSelector(m_8hitTrack.at(i), m_8hitTrack.at(i), selCut, (NoKickCuts::EParameters) j, true);
252 if (!goodSeg0) {
253 good = false;
255 }
256 }
257
258 }
259 }
260 if (m_outputFlag) {
263 if (good) {
264 m_isCutted = false;
265 m_momSel->Fill(track.getMomentumSeed().R());
266 m_PDGIDSel->Fill(track.getRelationsTo<MCParticle>()[0]->getPDG());
267 } else {
268 m_isCutted = true;
269 m_momCut->Fill(track.getMomentumSeed().R());
270 m_PDGIDCut->Fill(track.getRelationsTo<MCParticle>()[0]->getPDG());
271 }
272 m_noKickTree->Fill();
273 }
274 return good;
275}
EParameters
enum for parameters name
Definition NoKickCuts.h:44
int m_numberOfCuts
number of catastrophic interaction for each track
Definition NoKickRTSel.h:55
NoKickCuts m_trackCuts
auxiliary member to apply the cuts
Definition NoKickRTSel.h:39
double m_pmax
range analyzed with cuts
Definition NoKickRTSel.h:40
int m_Ncuts
number of times the cut is applied on a particle
Definition NoKickRTSel.h:56
double m_pdgID
pdg Code
Definition NoKickRTSel.h:43
bool segmentSelector(const hitXP &hit1, const hitXP &hit2, const std::vector< double > &selCut, NoKickCuts::EParameters par, bool is0=false)
This method return true if a couple of hits resects the cuts constraints.
void initNoKickRTSel()
Initialize the class cleaning the member vectors.
Definition NoKickRTSel.h:77
bool globalCut(const std::vector< hitXP > &track8)
This method make some global cuts on the tracks (layer 3 and 6 required, d0 and z0 inside beam pipe).
double m_pMag
momentum magnitut
Definition NoKickRTSel.h:41
bool m_isCutted
Indicator if cut is applied.
Definition NoKickRTSel.h:58
void hit8TrackBuilder(const RecoTrack &track)
this method build a vector of hitXP from a track selecting the first hit on each layer of VXD (8 hit ...
double m_pt
transverse momentum
Definition NoKickRTSel.h:42
double sqrt(double a)
sqrt for double
Definition beamHelpers.h:28

Member Data Documentation

◆ m_8hitTrack

std::vector<hitXP> m_8hitTrack

vector of selected hit

Definition at line 38 of file NoKickRTSel.h.

◆ m_hitXP

std::vector<hitXP> m_hitXP

vector of hit, to convert the track

Definition at line 36 of file NoKickRTSel.h.

◆ m_isCutted

bool m_isCutted

Indicator if cut is applied.

Definition at line 58 of file NoKickRTSel.h.

◆ m_momCut

TH1F* m_momCut

histogram of cut tracks

Definition at line 48 of file NoKickRTSel.h.

◆ m_momEff

TH1F* m_momEff

histogram for efficiency

Definition at line 49 of file NoKickRTSel.h.

◆ m_momSel

TH1F* m_momSel

histogram of selected tracks

Definition at line 47 of file NoKickRTSel.h.

◆ m_nCutHit

TH1F* m_nCutHit

histogram for number of cut hist per track

Definition at line 53 of file NoKickRTSel.h.

◆ m_Ncuts

int m_Ncuts

number of times the cut is applied on a particle

Definition at line 56 of file NoKickRTSel.h.

◆ m_noKickOutputTFile

TFile* m_noKickOutputTFile

validation output TFile

Definition at line 45 of file NoKickRTSel.h.

◆ m_noKickTree

TTree* m_noKickTree

TTree to which the information is written.

Definition at line 46 of file NoKickRTSel.h.

◆ m_numberOfCuts

int m_numberOfCuts

number of catastrophic interaction for each track

Definition at line 55 of file NoKickRTSel.h.

◆ m_outputFlag

bool m_outputFlag

true=produce validation output

Definition at line 57 of file NoKickRTSel.h.

◆ m_pdgID

double m_pdgID

pdg Code

Definition at line 43 of file NoKickRTSel.h.

◆ m_PDGIDCut

TH1F* m_PDGIDCut

histogram for PDGID of cut track

Definition at line 50 of file NoKickRTSel.h.

◆ m_PDGIDEff

TH1F* m_PDGIDEff

histogram for efficiency for each PDGID

Definition at line 52 of file NoKickRTSel.h.

◆ m_PDGIDSel

TH1F* m_PDGIDSel

histogram for PDGID of selected track

Definition at line 51 of file NoKickRTSel.h.

◆ m_pMag

double m_pMag

momentum magnitut

Definition at line 41 of file NoKickRTSel.h.

◆ m_pmax

double m_pmax = 10.

range analyzed with cuts

Definition at line 40 of file NoKickRTSel.h.

◆ m_pt

double m_pt

transverse momentum

Definition at line 42 of file NoKickRTSel.h.

◆ m_setHitXP

std::set<hitXP, hitXP::timeCompare> m_setHitXP

set of hit to order the hit in time

Definition at line 37 of file NoKickRTSel.h.

◆ m_trackCuts

NoKickCuts m_trackCuts

auxiliary member to apply the cuts

Definition at line 39 of file NoKickRTSel.h.


The documentation for this class was generated from the following files: