ATLAS Offline Software
Loading...
Searching...
No Matches
FPGATrackSimEventSelectionSvc Class Reference

#include <FPGATrackSimEventSelectionSvc.h>

Inheritance diagram for FPGATrackSimEventSelectionSvc:
Collaboration diagram for FPGATrackSimEventSelectionSvc:

Public Member Functions

 FPGATrackSimEventSelectionSvc (const std::string &name, ISvcLocator *svc)
virtual ~FPGATrackSimEventSelectionSvc ()=default
virtual StatusCode initialize () override
virtual StatusCode finalize () override
virtual unsigned getRegionID () const override
virtual SampleType getSampleType () const override
virtual bool checkPU () const override
virtual const FPGATrackSimRegionSlicesgetRegions () override
virtual int getLRTpdgID () const override
virtual FPGATrackSimTrackPars getMin () const override
virtual FPGATrackSimTrackPars getMax () const override
virtual bool passCuts (const FPGATrackSimHit &) const override
virtual bool passCuts (const FPGATrackSimTrack &) const override
virtual bool passCuts (const FPGATrackSimOfflineTrack &) const override
virtual bool passCuts (const FPGATrackSimTruthTrack &) const override
virtual bool passQOverPt (const FPGATrackSimTrack &) const override
virtual bool passEta (const FPGATrackSimTrack &) const override
virtual bool passPhi (const FPGATrackSimTrack &) const override
virtual bool passD0 (const FPGATrackSimTrack &) const override
virtual bool passZ0 (const FPGATrackSimTrack &) const override
virtual bool passQOverPt (const FPGATrackSimOfflineTrack &) const override
virtual bool passEta (const FPGATrackSimOfflineTrack &) const override
virtual bool passPhi (const FPGATrackSimOfflineTrack &) const override
virtual bool passD0 (const FPGATrackSimOfflineTrack &) const override
virtual bool passZ0 (const FPGATrackSimOfflineTrack &) const override
virtual bool passMatching (FPGATrackSimTrack const &) const override
virtual bool passMatching (FPGATrackSimTruthTrack const &) const override
virtual bool selectEvent (const FPGATrackSimEventInputHeader *) override
virtual bool selectEvent (FPGATrackSimLogicalEventInputHeader *) override
virtual bool getSelectedEvent () const override
virtual void setSelectedEvent (bool s) override

Private Member Functions

void createRegions ()
bool checkTruthTracks (const std::vector< FPGATrackSimTruthTrack > &) const
bool checkTruthTracksLRT (const std::vector< FPGATrackSimTruthTrack > &) const

Private Attributes

Gaudi::Property< unsigned int > m_regionID { this, "regionID", 0, "current region under processing"}
Gaudi::Property< unsigned int > m_skipRegionCheck { this, "skipRegionCheck", false, "this should be set to true for DataPrep or in cases where region cuts don't matter"}
Gaudi::Property< std::string > m_regions_path { this, "regions", "", "path of the slices file"}
Gaudi::Property< std::string > m_sampleType { this, "sampleType", "singleMuons", "type of sample under processing (skipTruth, singleElectrons, singleMuons, singlePions, or LLPs)"}
Gaudi::Property< bool > m_withPU { this, "withPU", false, "flag to say if there is pile-up or not"}
Gaudi::Property< bool > m_LRT { this, "doLRT", false, "Change track selection to LRT quantities; hit selection unchanged"}
Gaudi::Property< float > m_minLRTpT { this, "minLRTpT", 5., "Minimum pT to use in LRT selection, in GeV"}
Gaudi::Property< int > m_LRT_pdgID { this, "lrt_truthMatchPDGID", 0, "If we are running an LLP sample but want only some PDGID of output in the truth selection, set this"}
Gaudi::Property< bool > m_allowHighBarcode { this, "allowHighBarcode", false, "Whether or not to allow barcodes over 200000 in truth matching"}
Gaudi::Property< bool > m_oldRegionDefs {this, "oldRegionDefs", true, "If True, use old region definitions, otherwise new ones where eta-phi for a region is automatically calculated and the rest are passed on"}
Gaudi::Property< float > m_mind0 {this, "mind0", -2.0, "Min d0 for region selection"}
Gaudi::Property< float > m_minz0 {this, "minz0", -150, "Min z0 for region selection"}
Gaudi::Property< float > m_minqOverPt {this, "minqOverPt", -0.001, "Min qOverPt for region selection (MeV)"}
Gaudi::Property< float > m_maxd0 {this, "maxd0", 2.0, "Max d0 for region selection"}
Gaudi::Property< float > m_maxz0 {this, "maxz0", 150, "Max z0 for region selection"}
Gaudi::Property< float > m_maxqOverPt {this, "maxqOverPt", 0.001, "Max qOverPt for region selection (MeV)"}
SampleType m_st = SampleType::skipTruth
FPGATrackSimRegionSlicesm_regions = nullptr
FPGATrackSimTrackPars m_min
FPGATrackSimTrackPars m_max
FPGATrackSimTrackPars m_trackmin
FPGATrackSimTrackPars m_trackmax
bool m_selectEvent = false

Detailed Description

Definition at line 24 of file FPGATrackSimEventSelectionSvc.h.

Constructor & Destructor Documentation

◆ FPGATrackSimEventSelectionSvc()

FPGATrackSimEventSelectionSvc::FPGATrackSimEventSelectionSvc ( const std::string & name,
ISvcLocator * svc )

Definition at line 22 of file FPGATrackSimEventSelectionSvc.cxx.

22 :
23 base_class(name,svc)
24{}

◆ ~FPGATrackSimEventSelectionSvc()

virtual FPGATrackSimEventSelectionSvc::~FPGATrackSimEventSelectionSvc ( )
virtualdefault

Member Function Documentation

◆ checkPU()

virtual bool FPGATrackSimEventSelectionSvc::checkPU ( ) const
inlineoverridevirtual

Definition at line 36 of file FPGATrackSimEventSelectionSvc.h.

36{ return m_withPU.value(); }

◆ checkTruthTracks()

bool FPGATrackSimEventSelectionSvc::checkTruthTracks ( const std::vector< FPGATrackSimTruthTrack > & truthTracks) const
private

Definition at line 302 of file FPGATrackSimEventSelectionSvc.cxx.

303{
304// find at least one track in the region
305 bool good=false;
306 for (const FPGATrackSimTruthTrack& track : truthTracks){
307 if(m_regions->inRegion(m_regionID, track) || m_skipRegionCheck){
308 good=true;
309 if (std::abs(track.getPDGCode()) != static_cast<int>(m_st)) {
310 ATH_MSG_WARNING("selectEvent(): TruthTrack PDGCode != sampleType");
311 good=false;
312 }
313 else {
314 ATH_MSG_DEBUG("selectEvent(): found one truth track, in region "
315 <<getRegionID() <<"; track pars: "<< track.getPars());
316 break;
317 }
318 }
319 else {
320 ATH_MSG_DEBUG("selectEvent(): found one truth track over "<<truthTracks.size()<<", out of region "
321 <<getRegionID() <<"; track pars: "<< track.getPars());
322 }
323 }
324 return good;
325}
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
virtual unsigned getRegionID() const override
Gaudi::Property< unsigned int > m_regionID
Gaudi::Property< unsigned int > m_skipRegionCheck

◆ checkTruthTracksLRT()

bool FPGATrackSimEventSelectionSvc::checkTruthTracksLRT ( const std::vector< FPGATrackSimTruthTrack > & truthTracks) const
private

Definition at line 327 of file FPGATrackSimEventSelectionSvc.cxx.

328{
329 ATH_MSG_DEBUG("selectEvent(): Checking truth tracks with LRT requirements");
330 // Ideally we would make this flexible to use either of two conditions
331 // 1) there is a truth track that passes our region criteria with our modified selections, or
332 // 2) there is a truth track that passes all but the eta and phi requirements, but has
333 // the majority of its associated hits in the region.
334
335 // Check for 1)
336 for (const auto& truthtrack : truthTracks ) {
337 // If we specified a PDG ID selection, it can go here - but by default this is false
338 if ((m_LRT_pdgID != 0) && (m_LRT_pdgID != truthtrack.getPDGCode())) {
339 if (passCuts(truthtrack)) ANA_MSG_DEBUG("Skipping an otherwise passing track due to wrong PDGID: " << truthtrack.getPDGCode());
340 continue;
341 }
342 if (passCuts(truthtrack)) return true;
343 }
344
345 // Check for 2)
346 // TODO someday.
347
348
349 // Otherwise return false
350 return false;
351}
#define ANA_MSG_DEBUG(xmsg)
Macro printing debug messages.
virtual bool passCuts(const FPGATrackSimHit &) const override

◆ createRegions()

void FPGATrackSimEventSelectionSvc::createRegions ( )
private

Definition at line 286 of file FPGATrackSimEventSelectionSvc.cxx.

287{
288 if (!m_regions)
289 {
290 ATH_MSG_INFO("Creating the slices object");
291 MsgStream cmsg(msgSvc(), "FPGATrackSimRegionSlices");
292 cmsg.setLevel(msg().level()); // cause AthMessaging is stupid and doesn't have this function
293 if (m_oldRegionDefs.value())
294 m_regions = new FPGATrackSimRegionSlices(PathResolverFindCalibFile(m_regions_path.value()));
295 else
296 m_regions = new FPGATrackSimRegionSlices(m_mind0.value(), m_minz0.value(), m_minqOverPt.value(),
297 m_maxd0.value(), m_maxz0.value(), m_maxqOverPt.value());
298 }
299}
#define ATH_MSG_INFO(x)
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Gaudi::Property< std::string > m_regions_path
msgSvc
Provide convenience handles for various services.
Definition StdJOSetup.py:36
MsgStream & msg
Definition testRead.cxx:32

◆ finalize()

StatusCode FPGATrackSimEventSelectionSvc::finalize ( )
overridevirtual

Definition at line 71 of file FPGATrackSimEventSelectionSvc.cxx.

72{
73 if (m_regions) delete m_regions;
74 ATH_MSG_INFO("FPGATrackSimEventSelectionSvc::finalize()");
75
76 return StatusCode::SUCCESS;
77}

◆ getLRTpdgID()

virtual int FPGATrackSimEventSelectionSvc::getLRTpdgID ( ) const
inlineoverridevirtual

Definition at line 38 of file FPGATrackSimEventSelectionSvc.h.

38{ return m_LRT_pdgID; }

◆ getMax()

virtual FPGATrackSimTrackPars FPGATrackSimEventSelectionSvc::getMax ( ) const
inlineoverridevirtual

Definition at line 41 of file FPGATrackSimEventSelectionSvc.h.

41{ return m_max; }

◆ getMin()

virtual FPGATrackSimTrackPars FPGATrackSimEventSelectionSvc::getMin ( ) const
inlineoverridevirtual

Definition at line 40 of file FPGATrackSimEventSelectionSvc.h.

40{ return m_min; }

◆ getRegionID()

virtual unsigned FPGATrackSimEventSelectionSvc::getRegionID ( ) const
inlineoverridevirtual

Definition at line 34 of file FPGATrackSimEventSelectionSvc.h.

34{ return m_regionID; }

◆ getRegions()

const FPGATrackSimRegionSlices * FPGATrackSimEventSelectionSvc::getRegions ( )
overridevirtual

Definition at line 280 of file FPGATrackSimEventSelectionSvc.cxx.

◆ getSampleType()

virtual SampleType FPGATrackSimEventSelectionSvc::getSampleType ( ) const
inlineoverridevirtual

Definition at line 35 of file FPGATrackSimEventSelectionSvc.h.

35{ return m_st; }

◆ getSelectedEvent()

virtual bool FPGATrackSimEventSelectionSvc::getSelectedEvent ( ) const
inlineoverridevirtual

◆ initialize()

StatusCode FPGATrackSimEventSelectionSvc::initialize ( )
overridevirtual

Definition at line 26 of file FPGATrackSimEventSelectionSvc.cxx.

27{
29
30 m_min = m_regions->getMin(m_regionID);
31 m_max = m_regions->getMax(m_regionID);
32
33 if (m_sampleType.value() == "skipTruth") m_st = SampleType::skipTruth;
34 else if (m_sampleType.value() == "singleElectrons") m_st = SampleType::singleElectrons;
35 else if (m_sampleType.value() == "singleMuons") m_st = SampleType::singleMuons;
36 else if (m_sampleType.value() == "singlePions") m_st = SampleType::singlePions;
37 else if (m_sampleType.value() == "LLPs") m_st = SampleType::LLPs;
38 else {
39 ATH_MSG_ERROR("initialize(): sampleType doesn't exist. ");
40 return StatusCode::FAILURE;
41 }
42
43 // If we are doing large-radius tracks, we want to restrict the hits entering the
44 // process as before, but we will accept any track as belonging to this region that has
45 // most of its hits within the region, regardless of eta and phi.
46 // We will also set a minimum pT of 5 GeV.
49 double pTCutVal = 1./(1000.*m_minLRTpT);
50 if (m_LRT) {
51 m_trackmin.qOverPt = -1*pTCutVal;
52 m_trackmin.d0 = -300;
53 m_trackmin.z0 = -500;
54 m_trackmax.qOverPt = pTCutVal;
55 m_trackmax.d0 = 300;
56 m_trackmax.z0 = 500;
57 }
58
59 // Should really be printing the full information, but it conflicts with
60 // the requirement that log files be identical .....
61 ATH_MSG_INFO("FPGATrackSimEventSelectionSvc::initialize(): " <<
62 "regionID = " << m_regionID << ", " <<
63 "min = {" << m_min << "}, " <<
64 "max = {" << m_max << "}, " <<
65 "sampleType = " << std::string(m_sampleType) << ", " <<
66 "withPU = " << static_cast<bool>(m_withPU));
67
68 return StatusCode::SUCCESS;
69}
#define ATH_MSG_ERROR(x)
Gaudi::Property< std::string > m_sampleType

◆ passCuts() [1/4]

bool FPGATrackSimEventSelectionSvc::passCuts ( const FPGATrackSimHit & hit) const
overridevirtual

Definition at line 79 of file FPGATrackSimEventSelectionSvc.cxx.

80{
81 float eta = TMath::ASinH(hit.getGCotTheta());
82 float phi = hit.getGPhi();
83
84 if (eta >= m_min.eta && eta <= m_max.eta
85 && phi >= m_min.phi && phi <= m_max.phi)
86 return true;
87 else
88 return false;
89}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
float getGPhi() const
float getGCotTheta() const

◆ passCuts() [2/4]

bool FPGATrackSimEventSelectionSvc::passCuts ( const FPGATrackSimOfflineTrack & offlineTrack) const
overridevirtual

Definition at line 143 of file FPGATrackSimEventSelectionSvc.cxx.

144{
145 if (offlineTrack.getQOverPt() >= m_trackmin.qOverPt && offlineTrack.getQOverPt() <= m_trackmax.qOverPt
146 && offlineTrack.getEta() >= m_trackmin.eta && offlineTrack.getEta() <= m_trackmax.eta
147 && offlineTrack.getPhi() >= m_trackmin.phi && offlineTrack.getPhi() <= m_trackmax.phi
148 && offlineTrack.getD0() >= m_trackmin.d0 && offlineTrack.getD0() <= m_trackmax.d0
149 && offlineTrack.getZ0() >= m_trackmin.z0 && offlineTrack.getZ0() <= m_trackmax.z0)
150 return true;
151 else
152 return false;
153}

◆ passCuts() [3/4]

bool FPGATrackSimEventSelectionSvc::passCuts ( const FPGATrackSimTrack & track) const
overridevirtual

Definition at line 91 of file FPGATrackSimEventSelectionSvc.cxx.

92{
93 if (track.getQOverPt() >= m_trackmin.qOverPt && track.getQOverPt() <= m_trackmax.qOverPt
94 && track.getEta() >= m_trackmin.eta && track.getEta() <= m_trackmax.eta
95 && track.getPhi() >= m_trackmin.phi && track.getPhi() <= m_trackmax.phi
96 && track.getD0() >= m_trackmin.d0 && track.getD0() <= m_trackmax.d0
97 && track.getZ0() >= m_trackmin.z0 && track.getZ0() <= m_trackmax.z0)
98 return true;
99 else
100 return false;
101}

◆ passCuts() [4/4]

bool FPGATrackSimEventSelectionSvc::passCuts ( const FPGATrackSimTruthTrack & truthTrack) const
overridevirtual

Definition at line 195 of file FPGATrackSimEventSelectionSvc.cxx.

196{
197 // Want a version that allows us to modify the selection parameters here.
198 // If m_trackmin and m_trackmax are unmodified from the region definitions
199 // this should return exactly the same.
200 FPGATrackSimTrackPars cur = truthTrack.getPars();
201 for (unsigned i = 0; i < FPGATrackSimTrackPars::NPARS; i++)
202 {
203 if (cur[i] < m_trackmin[i]) {
204 return false;
205 }
206 if (cur[i] > m_trackmax[i]) {
207 return false;
208 }
209 }
210
211 ATH_MSG_DEBUG("Passing it. PDGid = " << truthTrack.getPDGCode() << "; barcode = " << truthTrack.getBarcode());
212 return true;
213}
HepMcParticleLink::barcode_type getBarcode() const
FPGATrackSimTrackPars getPars() const

◆ passD0() [1/2]

bool FPGATrackSimEventSelectionSvc::passD0 ( const FPGATrackSimOfflineTrack & offlineTrack) const
overridevirtual

Definition at line 179 of file FPGATrackSimEventSelectionSvc.cxx.

180{
181 if (offlineTrack.getD0() >= m_trackmin.d0 && offlineTrack.getD0() <= m_trackmax.d0)
182 return true;
183 else
184 return false;
185}

◆ passD0() [2/2]

bool FPGATrackSimEventSelectionSvc::passD0 ( const FPGATrackSimTrack & track) const
overridevirtual

Definition at line 127 of file FPGATrackSimEventSelectionSvc.cxx.

128{
129 if (track.getD0() >= m_trackmin.d0 && track.getD0() <= m_trackmax.d0)
130 return true;
131 else
132 return false;
133}

◆ passEta() [1/2]

bool FPGATrackSimEventSelectionSvc::passEta ( const FPGATrackSimOfflineTrack & offlineTrack) const
overridevirtual

Definition at line 163 of file FPGATrackSimEventSelectionSvc.cxx.

164{
165 if (offlineTrack.getEta() >= m_trackmin.eta && offlineTrack.getEta() <= m_trackmax.eta)
166 return true;
167 else
168 return false;
169}

◆ passEta() [2/2]

bool FPGATrackSimEventSelectionSvc::passEta ( const FPGATrackSimTrack & track) const
overridevirtual

Definition at line 111 of file FPGATrackSimEventSelectionSvc.cxx.

112{
113 if (track.getEta() >= m_trackmin.eta && track.getEta() <= m_trackmax.eta)
114 return true;
115 else
116 return false;
117}

◆ passMatching() [1/2]

bool FPGATrackSimEventSelectionSvc::passMatching ( FPGATrackSimTrack const & track) const
overridevirtual

Definition at line 215 of file FPGATrackSimEventSelectionSvc.cxx.

216{
217 if (track.getBarcode() == 0 || track.getBarcode() == std::numeric_limits<HepMcParticleLink::barcode_type>::max()) return false;
218 if (track.getEventIndex() == std::numeric_limits<long>::max()) return false;
219 if (track.getQOverPt() == 0) return false;
220
221 return true;
222}

◆ passMatching() [2/2]

bool FPGATrackSimEventSelectionSvc::passMatching ( FPGATrackSimTruthTrack const & truthTrack) const
overridevirtual

Definition at line 224 of file FPGATrackSimEventSelectionSvc.cxx.

225{
226 if (truthTrack.getBarcode() == 0 || truthTrack.getQ() == 0) return false;
227 if ((!m_allowHighBarcode) && m_st != SampleType::skipTruth && HepMC::is_simulation_particle(&truthTrack)) return false;
228 if (!passCuts(truthTrack)) return false;
229
230 return true;
231}
bool is_simulation_particle(const T &p)
Method to establish if a particle (or barcode) was created during the simulation (TODO update to be s...

◆ passPhi() [1/2]

bool FPGATrackSimEventSelectionSvc::passPhi ( const FPGATrackSimOfflineTrack & offlineTrack) const
overridevirtual

Definition at line 171 of file FPGATrackSimEventSelectionSvc.cxx.

172{
173 if (offlineTrack.getPhi() >= m_trackmin.phi && offlineTrack.getPhi() <= m_trackmax.phi)
174 return true;
175 else
176 return false;
177}

◆ passPhi() [2/2]

bool FPGATrackSimEventSelectionSvc::passPhi ( const FPGATrackSimTrack & track) const
overridevirtual

Definition at line 119 of file FPGATrackSimEventSelectionSvc.cxx.

120{
121 if (track.getPhi() >= m_trackmin.phi && track.getPhi() <= m_trackmax.phi)
122 return true;
123 else
124 return false;
125}

◆ passQOverPt() [1/2]

bool FPGATrackSimEventSelectionSvc::passQOverPt ( const FPGATrackSimOfflineTrack & offlineTrack) const
overridevirtual

Definition at line 155 of file FPGATrackSimEventSelectionSvc.cxx.

156{
157 if (offlineTrack.getQOverPt() >= m_trackmin.qOverPt && offlineTrack.getQOverPt() <= m_trackmax.qOverPt)
158 return true;
159 else
160 return false;
161}

◆ passQOverPt() [2/2]

bool FPGATrackSimEventSelectionSvc::passQOverPt ( const FPGATrackSimTrack & track) const
overridevirtual

Definition at line 103 of file FPGATrackSimEventSelectionSvc.cxx.

104{
105 if (track.getQOverPt() >= m_trackmin.qOverPt && track.getQOverPt() <= m_trackmax.qOverPt)
106 return true;
107 else
108 return false;
109}

◆ passZ0() [1/2]

bool FPGATrackSimEventSelectionSvc::passZ0 ( const FPGATrackSimOfflineTrack & offlineTrack) const
overridevirtual

Definition at line 187 of file FPGATrackSimEventSelectionSvc.cxx.

188{
189 if (offlineTrack.getZ0() >= m_trackmin.z0 && offlineTrack.getZ0() <= m_trackmax.z0)
190 return true;
191 else
192 return false;
193}

◆ passZ0() [2/2]

bool FPGATrackSimEventSelectionSvc::passZ0 ( const FPGATrackSimTrack & track) const
overridevirtual

Definition at line 135 of file FPGATrackSimEventSelectionSvc.cxx.

136{
137 if (track.getZ0() >= m_trackmin.z0 && track.getZ0() <= m_trackmax.z0)
138 return true;
139 else
140 return false;
141}

◆ selectEvent() [1/2]

bool FPGATrackSimEventSelectionSvc::selectEvent ( const FPGATrackSimEventInputHeader * eventHeader)
overridevirtual

Definition at line 233 of file FPGATrackSimEventSelectionSvc.cxx.

234{
235 bool retval = false;
237 retval = true;
239 const auto& truthTracks = eventHeader->optional().getTruthTracks();
240 retval = checkTruthTracks(truthTracks);
241 }
242 else if (m_st == SampleType::LLPs) {
243 const auto& truthTracks = eventHeader->optional().getTruthTracks();
244 // Maybe change this later - could be we want LRT selection in all cases but I suspect not
245 if (m_LRT) retval = checkTruthTracksLRT(truthTracks);
246 else retval = checkTruthTracks(truthTracks);
247 }
248 else {
249 ATH_MSG_DEBUG("selectEvent(): Error with sampleType property");
250 }
251
253 return retval;
254}
FPGATrackSimOptionalEventInfo const & optional() const
bool checkTruthTracksLRT(const std::vector< FPGATrackSimTruthTrack > &) const
bool checkTruthTracks(const std::vector< FPGATrackSimTruthTrack > &) const
const std::vector< FPGATrackSimTruthTrack > & getTruthTracks() const

◆ selectEvent() [2/2]

bool FPGATrackSimEventSelectionSvc::selectEvent ( FPGATrackSimLogicalEventInputHeader * eventHeader)
overridevirtual

Definition at line 256 of file FPGATrackSimEventSelectionSvc.cxx.

257{
258 bool retval = false;
260 retval = true;
262 const auto& truthTracks = eventHeader->optional().getTruthTracks();
263 retval = checkTruthTracks(truthTracks);
264 }
265 else if (m_st == SampleType::LLPs) {
266 const auto& truthTracks = eventHeader->optional().getTruthTracks();
267 // Maybe change this later - could be we want LRT selection in all cases but I suspect not
268 if (m_LRT) retval = checkTruthTracksLRT(truthTracks);
269 else retval = checkTruthTracks(truthTracks);
270 }
271 else {
272 ATH_MSG_DEBUG("selectEvent(): Error with sampleType property");
273 }
274
276 return retval;
277
278}
FPGATrackSimOptionalEventInfo const & optional() const

◆ setSelectedEvent()

virtual void FPGATrackSimEventSelectionSvc::setSelectedEvent ( bool s)
inlineoverridevirtual

Definition at line 68 of file FPGATrackSimEventSelectionSvc.h.

Member Data Documentation

◆ m_allowHighBarcode

Gaudi::Property<bool> FPGATrackSimEventSelectionSvc::m_allowHighBarcode { this, "allowHighBarcode", false, "Whether or not to allow barcodes over 200000 in truth matching"}
private

Definition at line 81 of file FPGATrackSimEventSelectionSvc.h.

81{ this, "allowHighBarcode", false, "Whether or not to allow barcodes over 200000 in truth matching"}; // whether or not to allow barcodes over 200000 in truth matching

◆ m_LRT

Gaudi::Property<bool> FPGATrackSimEventSelectionSvc::m_LRT { this, "doLRT", false, "Change track selection to LRT quantities; hit selection unchanged"}
private

Definition at line 78 of file FPGATrackSimEventSelectionSvc.h.

78{ this, "doLRT", false, "Change track selection to LRT quantities; hit selection unchanged"}; // flag to require cancelling of selections on d0 and z0 in the case of large-radius tracking

◆ m_LRT_pdgID

Gaudi::Property<int> FPGATrackSimEventSelectionSvc::m_LRT_pdgID { this, "lrt_truthMatchPDGID", 0, "If we are running an LLP sample but want only some PDGID of output in the truth selection, set this"}
private

Definition at line 80 of file FPGATrackSimEventSelectionSvc.h.

80{ this, "lrt_truthMatchPDGID", 0, "If we are running an LLP sample but want only some PDGID of output in the truth selection, set this"}; // If we are running an LLP sample but want only some PDGID of output in the truth selection, set this

◆ m_max

FPGATrackSimTrackPars FPGATrackSimEventSelectionSvc::m_max
private

Definition at line 95 of file FPGATrackSimEventSelectionSvc.h.

◆ m_maxd0

Gaudi::Property<float> FPGATrackSimEventSelectionSvc::m_maxd0 {this, "maxd0", 2.0, "Max d0 for region selection"}
private

Definition at line 86 of file FPGATrackSimEventSelectionSvc.h.

86{this, "maxd0", 2.0, "Max d0 for region selection"};

◆ m_maxqOverPt

Gaudi::Property<float> FPGATrackSimEventSelectionSvc::m_maxqOverPt {this, "maxqOverPt", 0.001, "Max qOverPt for region selection (MeV)"}
private

Definition at line 88 of file FPGATrackSimEventSelectionSvc.h.

88{this, "maxqOverPt", 0.001, "Max qOverPt for region selection (MeV)"};

◆ m_maxz0

Gaudi::Property<float> FPGATrackSimEventSelectionSvc::m_maxz0 {this, "maxz0", 150, "Max z0 for region selection"}
private

Definition at line 87 of file FPGATrackSimEventSelectionSvc.h.

87{this, "maxz0", 150, "Max z0 for region selection"};

◆ m_min

FPGATrackSimTrackPars FPGATrackSimEventSelectionSvc::m_min
private

Definition at line 94 of file FPGATrackSimEventSelectionSvc.h.

◆ m_mind0

Gaudi::Property<float> FPGATrackSimEventSelectionSvc::m_mind0 {this, "mind0", -2.0, "Min d0 for region selection"}
private

Definition at line 83 of file FPGATrackSimEventSelectionSvc.h.

83{this, "mind0", -2.0, "Min d0 for region selection"};

◆ m_minLRTpT

Gaudi::Property<float> FPGATrackSimEventSelectionSvc::m_minLRTpT { this, "minLRTpT", 5., "Minimum pT to use in LRT selection, in GeV"}
private

Definition at line 79 of file FPGATrackSimEventSelectionSvc.h.

79{ this, "minLRTpT", 5., "Minimum pT to use in LRT selection, in GeV"}; // minimum pT, in GeV, to use in LRT selection

◆ m_minqOverPt

Gaudi::Property<float> FPGATrackSimEventSelectionSvc::m_minqOverPt {this, "minqOverPt", -0.001, "Min qOverPt for region selection (MeV)"}
private

Definition at line 85 of file FPGATrackSimEventSelectionSvc.h.

85{this, "minqOverPt", -0.001, "Min qOverPt for region selection (MeV)"};

◆ m_minz0

Gaudi::Property<float> FPGATrackSimEventSelectionSvc::m_minz0 {this, "minz0", -150, "Min z0 for region selection"}
private

Definition at line 84 of file FPGATrackSimEventSelectionSvc.h.

84{this, "minz0", -150, "Min z0 for region selection"};

◆ m_oldRegionDefs

Gaudi::Property<bool> FPGATrackSimEventSelectionSvc::m_oldRegionDefs {this, "oldRegionDefs", true, "If True, use old region definitions, otherwise new ones where eta-phi for a region is automatically calculated and the rest are passed on"}
private

Definition at line 82 of file FPGATrackSimEventSelectionSvc.h.

82{this, "oldRegionDefs", true, "If True, use old region definitions, otherwise new ones where eta-phi for a region is automatically calculated and the rest are passed on"};

◆ m_regionID

Gaudi::Property<unsigned int> FPGATrackSimEventSelectionSvc::m_regionID { this, "regionID", 0, "current region under processing"}
private

Definition at line 73 of file FPGATrackSimEventSelectionSvc.h.

73{ this, "regionID", 0, "current region under processing"}; // Current region of interest

◆ m_regions

FPGATrackSimRegionSlices* FPGATrackSimEventSelectionSvc::m_regions = nullptr
private

Definition at line 92 of file FPGATrackSimEventSelectionSvc.h.

◆ m_regions_path

Gaudi::Property<std::string> FPGATrackSimEventSelectionSvc::m_regions_path { this, "regions", "", "path of the slices file"}
private

Definition at line 75 of file FPGATrackSimEventSelectionSvc.h.

75{ this, "regions", "", "path of the slices file"}; // path to slices file

◆ m_sampleType

Gaudi::Property<std::string> FPGATrackSimEventSelectionSvc::m_sampleType { this, "sampleType", "singleMuons", "type of sample under processing (skipTruth, singleElectrons, singleMuons, singlePions, or LLPs)"}
private

Definition at line 76 of file FPGATrackSimEventSelectionSvc.h.

76{ this, "sampleType", "singleMuons", "type of sample under processing (skipTruth, singleElectrons, singleMuons, singlePions, or LLPs)"}; // type of sample ("skipTruth", "singleElectrons", "singleMuons", "singlePions")

◆ m_selectEvent

bool FPGATrackSimEventSelectionSvc::m_selectEvent = false
private

Definition at line 105 of file FPGATrackSimEventSelectionSvc.h.

◆ m_skipRegionCheck

Gaudi::Property<unsigned int> FPGATrackSimEventSelectionSvc::m_skipRegionCheck { this, "skipRegionCheck", false, "this should be set to true for DataPrep or in cases where region cuts don't matter"}
private

Definition at line 74 of file FPGATrackSimEventSelectionSvc.h.

74{ this, "skipRegionCheck", false, "this should be set to true for DataPrep or in cases where region cuts don't matter"};

◆ m_st

SampleType FPGATrackSimEventSelectionSvc::m_st = SampleType::skipTruth
private

Definition at line 91 of file FPGATrackSimEventSelectionSvc.h.

◆ m_trackmax

FPGATrackSimTrackPars FPGATrackSimEventSelectionSvc::m_trackmax
private

Definition at line 97 of file FPGATrackSimEventSelectionSvc.h.

◆ m_trackmin

FPGATrackSimTrackPars FPGATrackSimEventSelectionSvc::m_trackmin
private

Definition at line 96 of file FPGATrackSimEventSelectionSvc.h.

◆ m_withPU

Gaudi::Property<bool> FPGATrackSimEventSelectionSvc::m_withPU { this, "withPU", false, "flag to say if there is pile-up or not"}
private

Definition at line 77 of file FPGATrackSimEventSelectionSvc.h.

77{ this, "withPU", false, "flag to say if there is pile-up or not"}; // flag to say if there is pile-up or not

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