Belle II Software development
SecMapTrainer< FilterFactoryType > Class Template Reference

This class contains all relevant tools for training a VXDTFFilters. More...

#include <SecMapTrainer.h>

Public Member Functions

 SecMapTrainer (const std::string &setupName, const std::string &appendix="", const std::string &outputdir="./")
 constructor.
 
void initialize ()
 initialize the trainer (to be called in Module::initialize().
 
void terminate ()
 initialize the trainer (to be called in Module::terminate().
 
void initializeEvent (int expNo, int runNo, int evtNo)
 Initialize event.
 
const SectorMapConfiggetConfig ()
 returns configuration.
 
const std::string getSetupName ()
 returns the name of the setup used for this trainer
 
bool storeTC (const SpacePointTrackCand &tc, unsigned iD)
 checks if given TC is acceptable for this trainer and store it if it is accepted.
 
unsigned processTracks ()
 for given normalized local variables and VxdID a FullSecID is determined.
 

Protected Member Functions

bool acceptHit (const SpacePoint &hit)
 checks if given Hit is acceptable for this trainer.
 
unsigned process2HitCombinations (const SecMapTrainerTC &aTC)
 processes all two-hit-combinations of given TC and stores their results.
 
unsigned process3HitCombinations (const SecMapTrainerTC &aTC)
 processes all three-hit-combinations of given TC and stores their results.
 
void convertSP2TC (const std::vector< std::pair< FullSecID, const SpacePoint * > > &goodSPs, unsigned tcID, double pTValue, int pdgCode)
 converts the SpacePoints into a SecMapTrainerTC and stores it to m_TCs
 

Protected Attributes

const std::string m_nameSetup
 name of the setting to be used for this training
 
FiltersContainer< SpacePoint > & m_filtersContainer = Belle2::FiltersContainer<SpacePoint>::getInstance()
 a reference to the singleton FiltersContainer used for this training.
 
SectorMapConfig m_config
 Contains all relevant configurations needed for training a sectorMap.
 
FilterFactoryType m_factory
 A factory taking care of having the correct filters prepared for secMapTraining.
 
FilterMill< SecMapTrainerHitm_filterMill
 Stores the prepared filters and applies them on given hit-combinations.
 
RawSecMapRootInterface m_rootInterface
 Interface for nice and neat storing in root-ttree.
 
std::vector< SecMapTrainerTCm_tcs
 contains tcs of event, reset after each event.
 
unsigned m_expNo
 contains current experiment number.
 
unsigned m_runNo
 contains current run number.
 
unsigned m_evtNo
 contains current event number.
 

Detailed Description

template<class FilterFactoryType>
class Belle2::SecMapTrainer< FilterFactoryType >

This class contains all relevant tools for training a VXDTFFilters.

Definition at line 43 of file SecMapTrainer.h.

Constructor & Destructor Documentation

◆ SecMapTrainer()

SecMapTrainer ( const std::string &  setupName,
const std::string &  appendix = "",
const std::string &  outputdir = "./" 
)
inlineexplicit

constructor.

Definition at line 235 of file SecMapTrainer.h.

235 :
236 m_nameSetup(setupName),
237 m_config(m_filtersContainer.getFilters(m_nameSetup)->getConfig()),
238 m_factory(
239 m_config.vIP.X(),
240 m_config.vIP.Y(),
241 m_config.vIP.Z(),
243
244 m_filterMill(),
245 m_rootInterface(m_config.secMapName, appendix, outputdir),
246 m_expNo(std::numeric_limits<unsigned>::max()),
247 m_runNo(std::numeric_limits<unsigned>::max()),
248 m_evtNo(std::numeric_limits<unsigned>::max())
249 {
250 // stretch the cuts:
251// m_config.pTCuts.first -= m_config.pTCuts.first * m_config.pTSmear;
252// m_config.pTCuts.second += m_config.pTCuts.second * m_config.pTSmear;
255 }
DataType Z() const
access variable Z (= .at(2) without boundary check)
Definition: B2Vector3.h:435
DataType X() const
access variable X (= .at(0) without boundary check)
Definition: B2Vector3.h:431
DataType Y() const
access variable Y (= .at(1) without boundary check)
Definition: B2Vector3.h:433
FilterFactoryType m_factory
A factory taking care of having the correct filters prepared for secMapTraining.
Definition: SecMapTrainer.h:57
FilterMill< SecMapTrainerHit > m_filterMill
Stores the prepared filters and applies them on given hit-combinations.
Definition: SecMapTrainer.h:60
unsigned m_runNo
contains current run number.
Definition: SecMapTrainer.h:76
RawSecMapRootInterface m_rootInterface
Interface for nice and neat storing in root-ttree.
Definition: SecMapTrainer.h:64
FiltersContainer< SpacePoint > & m_filtersContainer
a reference to the singleton FiltersContainer used for this training.
Definition: SecMapTrainer.h:50
SectorMapConfig m_config
Contains all relevant configurations needed for training a sectorMap.
Definition: SecMapTrainer.h:54
unsigned m_expNo
contains current experiment number.
Definition: SecMapTrainer.h:72
const std::string m_nameSetup
name of the setting to be used for this training
Definition: SecMapTrainer.h:46
unsigned m_evtNo
contains current event number.
Definition: SecMapTrainer.h:80
double pTmin
stores pTCuts for min pT allowed for this .
double pTSmear
allows smearing of the cuts.
double mField
Magnetic field value to be set for the filters.
std::string secMapName
Sets the human readable proto-name of the sectorMap.
B2Vector3D vIP
Stores the position of the assumed position of the interaction point - The virtual IP.
double pTmax
stores pTCuts for min (.first) and max (.second) ptCut.

Member Function Documentation

◆ acceptHit()

bool acceptHit ( const SpacePoint hit)
inlineprotected

checks if given Hit is acceptable for this trainer.

Returns true if accepted and false otherwise.

Definition at line 87 of file SecMapTrainer.h.

88 {
89 // rejects if layerID is not acceptable for this secMap-training.
90 auto layerID = hit.getVxdID().getLayerNumber();
91 bool found = false;
92 std::string ids = "";
93 for (auto allowedLayer : m_config.allowedLayers) {
94 ids += std::to_string(allowedLayer) + " ";
95 if (allowedLayer == layerID) found = true;
96 }
97 B2DEBUG(20, "SecMapTrainer::acceptHit: the TC has layerID: " << layerID << " and allowed layers: " << ids << " and was " <<
98 (found ? "accepted" : "rejected"));
99
100 return found;
101 }
std::vector< int > allowedLayers
stores allowed layers to be used (including virtual IP with layer 0).

◆ convertSP2TC()

void convertSP2TC ( const std::vector< std::pair< FullSecID, const SpacePoint * > > &  goodSPs,
unsigned  tcID,
double  pTValue,
int  pdgCode 
)
inlineprotected

converts the SpacePoints into a SecMapTrainerTC and stores it to m_TCs

Definition at line 208 of file SecMapTrainer.h.

211 {
212 B2DEBUG(20, "SecMapTrainer::convertSPTC: nGoodHits: " << goodSPs.size());
213
214 SecMapTrainerTC newTrack(tcID, pTValue, pdgCode);
215
216 for (const auto& secIDAndSPpair : goodSPs) {
217 FullSecID fullSecID = secIDAndSPpair.first;
218 B2DEBUG(20, "SecMapTrainer::convertSPTC: found fullSecID: " << fullSecID.getFullSecString());
219
220 newTrack.addHit(SecMapTrainerHit(fullSecID, *secIDAndSPpair.second));
221 }
222
223 // add vertex (but without real vertexPosition, since origin is assumed)
224 SecMapTrainerHit newVirtualHit(FullSecID(), m_config.vIP);
225
226 newTrack.addHit(std::move(newVirtualHit));
227
228 m_tcs.push_back(std::move(newTrack));
229 }
std::vector< SecMapTrainerTC > m_tcs
contains tcs of event, reset after each event.
Definition: SecMapTrainer.h:68

◆ getConfig()

const SectorMapConfig & getConfig ( )
inline

returns configuration.

Definition at line 323 of file SecMapTrainer.h.

323{ return m_config; }

◆ getSetupName()

const std::string getSetupName ( )
inline

returns the name of the setup used for this trainer

Definition at line 327 of file SecMapTrainer.h.

327{ return m_nameSetup; }

◆ initialize()

void initialize ( )
inline

initialize the trainer (to be called in Module::initialize().

Definition at line 259 of file SecMapTrainer.h.

260 {
261 // prepare the filters!
262 // 2 space points:
264
265 std::vector< std::string> twoHitFilters;
266 for (const auto& filterNameToFunction : TwoSPfilterNamesToFunctions)
267 twoHitFilters.push_back(filterNameToFunction.first);
268
269 m_rootInterface.initialize2Hit(twoHitFilters);
270 for (auto& nameToFunction : TwoSPfilterNamesToFunctions)
271 m_filterMill.add2HitFilter(nameToFunction);
272
273
274 // 3 space points:
275 auto ThreeSPfilterNamesToFunctions(SelectionVariableNamesToFunctions(
277
278 std::vector< std::string> threeHitFilters;
279 for (const auto& filterNameToFunction : ThreeSPfilterNamesToFunctions)
280 threeHitFilters.push_back(filterNameToFunction.first);
281
282 m_rootInterface.initialize3Hit(threeHitFilters);
283 for (auto& nameToFunction : ThreeSPfilterNamesToFunctions)
284 m_filterMill.add3HitFilter(nameToFunction);
285 for (auto& nameToFunction : ThreeSPfilterNamesToFunctions)
286 m_filterMill.add3HitFilter(nameToFunction);
287
288
289 // 4 space points apparently unused
290 // m_rootInterface.initialize4Hit(m_config.fourHitFilters);
291
292 // auto FourSPfilterNamesToFunctions( SelectionVariableNamesToFunctions(
293 // VXDTFFilters<SecMapTrainerHit>::fourHitFilter_t() ));
294
295 // std::vector< std::string> fourHitFilters;
296 // for (const auto& filterNameToFunction :FourSPfilterNamesToFunctions )
297 // fourHitFilters.push_back( filterNameToFunction.first );
298
299 // m_rootInterface.initialize4Hit(fourHitFilters);
300 // for (auto& nameToFunction : FourSPfilterNamesToFunctions)
301 // m_filterMill.add4HitFilter(nameToFunction);
302
303 // prevent further modifications:
304 m_filterMill.lockMill();
305 }
void initialize3Hit(std::vector< std::string > filterNames)
initialize the RawSecMapRootInterface for three-hit-combinations (to be called in Module::initialize(...
void initialize2Hit(std::vector< std::string > filterNames)
initialize the RawSecMapRootInterface for two-hit-combinations (to be called in Module::initialize().
decltype((0.<=DistanceInTimeUside< point_t >()<=0. &&0.<=DistanceInTimeVside< point_t >()<=0. &&0.<=Distance3DSquared< point_t >()<=0.&&0.<=Distance2DXYSquared< point_t >()<=0.&&0.<=Distance1DZ< point_t >()<=0.&&0.<=SlopeRZ< point_t >()<=0.&&0.<=Distance3DNormed< point_t >()<=0.)) twoHitFilter_t
minimal working 2-hits-example used for redesign of VXDTF.
Definition: VXDTFFilters.h:82
decltype((0.<=DistanceInTime< point_t >()<=0. &&0.<=Angle3DSimple< point_t >()<=0.&&0.<=CosAngleXY< point_t >()<=0.&&0.<=AngleRZSimple< point_t >()<=0.&&CircleDist2IP< point_t >()<=0.&&0.<=DeltaSlopeRZ< point_t >()<=0.&&0.<=DeltaSlopeZoverS< point_t >()<=0.&&0.<=DeltaSoverZ< point_t >()<=0.&&0.<=HelixParameterFit< point_t >()<=0.&&0.<=Pt< point_t >()<=0.&&0.<=CircleRadius< point_t >()<=0.)) threeHitFilter_t
minimal working example for 3-hits:
Definition: VXDTFFilters.h:112
std::unordered_map< std::string, typename Variable::functionType > SelectionVariableNamesToFunctions(Belle2::Filter< Variable, Range, Options... >)
Return a map from the SelectionVariable name to the SelectionVariable function of the Variable used i...

◆ initializeEvent()

void initializeEvent ( int  expNo,
int  runNo,
int  evtNo 
)
inline

Initialize event.

Definition at line 314 of file SecMapTrainer.h.

315 {
316 m_expNo = expNo;
317 m_runNo = runNo;
318 m_evtNo = evtNo;
319 }

◆ process2HitCombinations()

unsigned process2HitCombinations ( const SecMapTrainerTC aTC)
inlineprotected

processes all two-hit-combinations of given TC and stores their results.

returns number of stored values.

Definition at line 106 of file SecMapTrainer.h.

107 {
108 unsigned nValues = 0;
109 B2DEBUG(20, "SecMapTrainer::process2HitCombinations: nHits/trackID/pdg: " << aTC.size() << "/" << aTC.getTrackID() << "/" <<
110 aTC.getPDG());
111 if (aTC.size() < 2) { return nValues; }
112
113 // the iterators mark the hits to be used:
114 SecMapTrainerTC::ConstIterator outerIt = aTC.outermostHit();
115 SecMapTrainerTC::ConstIterator innerIt = ++aTC.outermostHit();
116
117 // loop over all 2-hit-combis, collect data for each filterType and store it in root-tree:
118 std::vector<std::pair<std::string, double> > collectedResults;
119 for (; innerIt != aTC.innerEnd();) {
120 B2DEBUG(20, "SecMapTrainer::process2HitCombinations: outerHit-/innerHitSecID: " << outerIt->getSectorIDString() <<
121 "/" << innerIt->getSectorIDString());
122
123 auto& dataSet = m_rootInterface.get2HitDataSet();
124 dataSet.expNo = m_expNo;
125 dataSet.runNo = m_runNo;
126 dataSet.evtNo = m_evtNo;
127 dataSet.trackNo = aTC.getTrackID();
128 dataSet.pdg = aTC.getPDG();
129 dataSet.secIDs.outer = outerIt->getSectorID().getFullSecID();
130 dataSet.secIDs.inner = innerIt->getSectorID().getFullSecID();
131
132 // create data for each filterType:
133 FilterMill<SecMapTrainerHit>::HitPair newHitPair;
134 newHitPair.outer = &(*outerIt);
135 newHitPair.inner = &(*innerIt);
136 m_filterMill.grindData2Hit(newHitPair, collectedResults);
137
138 // fill data for each filter type:
139 for (const auto& entry : collectedResults) {
140 B2DEBUG(25, "SecMapTrainer::process2HitCombinations: filter/value: " << entry.first << "/" << entry.second);
141 dataSet.setValueOfFilter(entry.first, entry.second);
142 ++nValues;
143 }
145 collectedResults.clear();
146 ++outerIt;
147 ++innerIt;
148 }
149 return nValues;
150 }
void fill2Hit()
fill two-hit-combinations in tree, triggers an Error if values not set yet.
FilterValueDataSet< SecIDPair > & get2HitDataSet()
returns a reference to the 2-hit-dataset so one can set the relevant values.
typename std::vector< SecMapTrainerHit >::const_iterator ConstIterator
typedef for more readable iterator-type

◆ process3HitCombinations()

unsigned process3HitCombinations ( const SecMapTrainerTC aTC)
inlineprotected

processes all three-hit-combinations of given TC and stores their results.

returns number of stored values.

Definition at line 155 of file SecMapTrainer.h.

156 {
157 unsigned nValues = 0;
158 B2DEBUG(20, "SecMapTrainer::process3HitCombinations: nHits/trackID/pdg: " << aTC.size() << "/" << aTC.getTrackID() << "/" <<
159 aTC.getPDG());
160 if (aTC.size() < 3) { return nValues; }
161
162 // the iterators mark the hits to be used:
163 SecMapTrainerTC::ConstIterator outerIt = aTC.outermostHit();
164 SecMapTrainerTC::ConstIterator centerIt = ++aTC.outermostHit();
165 SecMapTrainerTC::ConstIterator innerIt = ++(++aTC.outermostHit());
166
167 // loop over all 3-hit-combis, collect data for each filterType and store it in root-tree:
168 std::vector<std::pair<std::string, double> > collectedResults;
169 for (; innerIt != aTC.innerEnd();) {
170 B2DEBUG(20, "SecMapTrainer::process3HitCombinations: outer-/center-/innerHitSecID: " << outerIt->getSectorIDString() <<
171 "/" << centerIt->getSectorIDString() <<
172 "/" << innerIt->getSectorIDString());
173
174 auto& dataSet = m_rootInterface.get3HitDataSet();
175 dataSet.expNo = m_expNo;
176 dataSet.runNo = m_runNo;
177 dataSet.evtNo = m_evtNo;
178 dataSet.trackNo = aTC.getTrackID();
179 dataSet.pdg = aTC.getPDG();
180 dataSet.secIDs.outer = outerIt->getSectorID().getFullSecID();
181 dataSet.secIDs.center = centerIt->getSectorID().getFullSecID();
182 dataSet.secIDs.inner = innerIt->getSectorID().getFullSecID();
183
184 // create data for each filterType:
185 FilterMill<SecMapTrainerHit>::HitTriplet newHitTriplet;
186 newHitTriplet.outer = &(*outerIt);
187 newHitTriplet.center = &(*centerIt);
188 newHitTriplet.inner = &(*innerIt);
189 m_filterMill.grindData3Hit(newHitTriplet, collectedResults);
190
191 // fill data for each filter type:
192 for (const auto& entry : collectedResults) {
193 B2DEBUG(25, "SecMapTrainer::process3HitCombinations: filter/value: " << entry.first << "/" << entry.second);
194 dataSet.setValueOfFilter(entry.first, entry.second);
195 ++nValues;
196 }
198 collectedResults.clear();
199 ++outerIt;
200 ++centerIt;
201 ++innerIt;
202 }
203 return nValues;
204 }
void fill3Hit()
fill three-hit-combinations in tree, triggers an Error if values not set yet.
FilterValueDataSet< SecIDTriplet > & get3HitDataSet()
returns a reference to the 3-hit-dataset so one can set the relevant values.

◆ processTracks()

unsigned processTracks ( )
inline

for given normalized local variables and VxdID a FullSecID is determined.

returns unsigned int max if correct ID could not be found. takes all TCs stored and processed them for root storing. Takes care of cleaning event-dependent TCs.

Definition at line 426 of file SecMapTrainer.h.

427 {
428 unsigned n2HitResults = 0;
429 unsigned n3HitResults = 0;
430 unsigned nTracksProcessed = m_tcs.size();
431
432 for (const auto& tc : m_tcs) {
433 // two hit:
434 n2HitResults += process2HitCombinations(tc);
435 // three hit:
436 n3HitResults += process3HitCombinations(tc);
437 }
438
439 m_tcs.clear();
440 B2DEBUG(25, "SecMapTrainer::processTracks: nStoredValues for 2-/3-hit: " << n2HitResults << "/" << n3HitResults);
441
442 return nTracksProcessed;
443 }
unsigned process3HitCombinations(const SecMapTrainerTC &aTC)
processes all three-hit-combinations of given TC and stores their results.
unsigned process2HitCombinations(const SecMapTrainerTC &aTC)
processes all two-hit-combinations of given TC and stores their results.

◆ storeTC()

bool storeTC ( const SpacePointTrackCand tc,
unsigned  iD 
)
inline

checks if given TC is acceptable for this trainer and store it if it is accepted.

The return value is true, it was accepted and stored, false if not.

Definition at line 333 of file SecMapTrainer.h.

334 {
335 B2DEBUG(20, "SecMapTrainer::storeTC: nHits/threshold: " << tc.getNHits() << "/" << m_config.nHitsMin);
336 // catch TCS which are too short in any case
337 if (tc.getNHits() < m_config.nHitsMin) return false;
338
339 B2DEBUG(20, "SecMapTrainer::storeTC: hasHitsOnSameSensor: " << tc.hasHitsOnSameSensor());
340 // catch TCs where more than one hit was on the same sensor
341 if (tc.hasHitsOnSameSensor()) return false;
342
343 // catch TCS where particle type is wrong
344 bool found = false;
345 for (const auto& pdg : m_config.pdgCodesAllowed) {
346 if (tc.getPdgCode() == pdg) found = true;
347 }
348 if (found == false and m_config.pdgCodesAllowed.empty() == false) return false;
349
350 // check if momentum of TC is within range:
351 auto pT = tc.getMomSeed().Rho();
352 B2DEBUG(20, "SecMapTrainer::storeTC: pT/thresholdmin/-max: " << pT << "/" << m_config.pTmin << "/" <<
354 if (m_config.pTmin > pT or m_config.pTmax < pT) return false;
355
356 // catch tracks which start too far away from origin
357 B2Vector3D distance2IP = m_config.vIP - tc.getPosSeed();
358 B2DEBUG(20, "SecMapTrainer::storeTC: distance2IP/thresholdXY/-Z: " << distance2IP.Mag() << "/" << m_config.seedMaxDist2IPXY << "/"
361 and m_config.seedMaxDist2IPXY < distance2IP.Perp()) return false;
363 and m_config.seedMaxDist2IPXY < distance2IP.Z()) return false;
364
365 // collect hits which fulfill all given tests
366 std::vector<std::pair<FullSecID, const SpacePoint*> > goodSPs;
367 for (const SpacePoint* aSP : tc.getHits()) {
368 if (!acceptHit(*aSP)) continue;
369
370 FullSecID fSecID = m_filtersContainer.getFilters(m_nameSetup)->getFullID(aSP->getVxdID(),
371 aSP->getNormalizedLocalU(), aSP->getNormalizedLocalV());
372 if (fSecID.getFullSecID() == std::numeric_limits<unsigned int>::max())
373 { B2ERROR("a secID for spacePoint not found!"); continue; }
374
375 goodSPs.push_back({fSecID, aSP});
376 }
377
378 // catch tracks which have not enough accepted hits.
379 B2DEBUG(20, "SecMapTrainer::storeTC: the TC has now nHits/threshold: " << goodSPs.size() << "/" << m_config.nHitsMin);
380 if (goodSPs.size() < m_config.nHitsMin || goodSPs.size() == 0) return false;
381
382 // want to have hits going from outer to inner ones
383 if (tc.isOutgoing()) std::reverse(goodSPs.begin(), goodSPs.end());
384
385
386 // enfoce a direction in the layer numbering, because else this could generate loops in the sectormap
387 int prevLayerNum = goodSPs.at(0).second->getVxdID().getLayerNumber();
388 for (auto& spCand : goodSPs) {
389 int thisLayerNum = spCand.second->getVxdID().getLayerNumber();
390 // allow same layer
391 if (thisLayerNum > prevLayerNum) {
392 B2DEBUG(20, "Rejected TC due to layer ordering of SPs! previous layer: " << prevLayerNum << " this layer: " << thisLayerNum);
393 return false;
394 }
395 prevLayerNum = thisLayerNum;
396 }
397
398
399 convertSP2TC(goodSPs, iD, tc.getMomSeed().Rho(), tc.getPdgCode());
400
401 return true;
402 }
void convertSP2TC(const std::vector< std::pair< FullSecID, const SpacePoint * > > &goodSPs, unsigned tcID, double pTValue, int pdgCode)
converts the SpacePoints into a SecMapTrainerTC and stores it to m_TCs
bool acceptHit(const SpacePoint &hit)
checks if given Hit is acceptable for this trainer.
Definition: SecMapTrainer.h:87
B2Vector3< double > B2Vector3D
typedef for common usage with double
Definition: B2Vector3.h:516
std::vector< int > pdgCodesAllowed
Stores all the pdgCodes which are allowed to be used by the SecMap.
double seedMaxDist2IPXY
Stores a cut for maximum distance of the seed in xy of the given virtual IP.
double seedMaxDist2IPZ
Stores a cut for maximum distance of the seed in z of the given virtual IP.
unsigned nHitsMin
Stores the minimal number of hits a TC must have to be accepted as TC (vIP-Hits are ignored).

◆ terminate()

void terminate ( )
inline

initialize the trainer (to be called in Module::terminate().

Definition at line 310 of file SecMapTrainer.h.

void write()
write all trees to file at end of processing.

Member Data Documentation

◆ m_config

SectorMapConfig m_config
protected

Contains all relevant configurations needed for training a sectorMap.

Copy of the config in the SectorMap needed as it is modified (the one in VXDTFFilters is const).

Definition at line 54 of file SecMapTrainer.h.

◆ m_evtNo

unsigned m_evtNo
protected

contains current event number.

Definition at line 80 of file SecMapTrainer.h.

◆ m_expNo

unsigned m_expNo
protected

contains current experiment number.

Definition at line 72 of file SecMapTrainer.h.

◆ m_factory

FilterFactoryType m_factory
protected

A factory taking care of having the correct filters prepared for secMapTraining.

Definition at line 57 of file SecMapTrainer.h.

◆ m_filterMill

FilterMill<SecMapTrainerHit> m_filterMill
protected

Stores the prepared filters and applies them on given hit-combinations.

Definition at line 60 of file SecMapTrainer.h.

◆ m_filtersContainer

FiltersContainer<SpacePoint>& m_filtersContainer = Belle2::FiltersContainer<SpacePoint>::getInstance()
protected

a reference to the singleton FiltersContainer used for this training.

Needed as some information are only accessible from the filters (in the container).

Definition at line 50 of file SecMapTrainer.h.

◆ m_nameSetup

const std::string m_nameSetup
protected

name of the setting to be used for this training

Definition at line 46 of file SecMapTrainer.h.

◆ m_rootInterface

RawSecMapRootInterface m_rootInterface
protected

Interface for nice and neat storing in root-ttree.

Definition at line 64 of file SecMapTrainer.h.

◆ m_runNo

unsigned m_runNo
protected

contains current run number.

Definition at line 76 of file SecMapTrainer.h.

◆ m_tcs

std::vector<SecMapTrainerTC> m_tcs
protected

contains tcs of event, reset after each event.

Definition at line 68 of file SecMapTrainer.h.


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