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

#include <xAODMuDstarFilter.h>

Inheritance diagram for xAODMuDstarFilter:
Collaboration diagram for xAODMuDstarFilter:

Public Member Functions

 xAODMuDstarFilter (const std::string &name, ISvcLocator *pSvcLocator)
virtual ~xAODMuDstarFilter ()
virtual StatusCode filterInitialize ()
virtual StatusCode filterEvent (const EventContext &ctx)
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual bool isClonable () const override
 Specify if the algorithm is clonable.
virtual StatusCode sysExecute (const EventContext &ctx) override
 Execute an algorithm.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
virtual bool filterPassed (const EventContext &ctx) const
 Get filter decision:
virtual void setFilterPassed (bool state, const EventContext &ctx) const
 Set filter decision:
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const
Event loop algorithm methods: not to be overloaded
StatusCode initialize ()
StatusCode execute (const EventContext &ctx)
 Execute method.
StatusCode finalize ()
Gen-specific event loop methods: to be overloaded!
virtual StatusCode filterFinalize ()
Counters
int nPassed () const
int nFailed () const
int nNeeded () const
bool keepAll () const
Event collection accessors (const and non-const)
HepMC::GenEvent *event ATLAS_NOT_CONST_THREAD_SAFE ()
 Access the current signal event (first in the McEventCollection).
McEventCollection *events ATLAS_NOT_CONST_THREAD_SAFE ()
 Access the current event's McEventCollection.
const HepMC::GenEventevent_const (const EventContext &ctx) const
 Access the current signal event (const).
const McEventCollectionevents_const (const EventContext &ctx) const
 Access the current event's McEventCollection (const).

Protected Member Functions

virtual bool isReEntrant () const override final
 Legacy algorithms are not thread-safe.
void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Protected Attributes

Counters and requirements
int m_nPass
int m_nFail
int m_nNeeded
bool m_keepAll

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

Gaudi::Property< double > m_PtMinMuon {this,"PtMinMuon", 2500.}
Gaudi::Property< double > m_PtMaxMuon {this,"PtMaxMuon", 1e9}
Gaudi::Property< double > m_EtaRangeMuon {this,"EtaRangeMuon", 2.7}
Gaudi::Property< double > m_PtMinDstar {this,"PtMinDstar", 4500.}
Gaudi::Property< double > m_PtMaxDstar {this,"PtMaxDstar", 1e9}
Gaudi::Property< double > m_EtaRangeDstar {this, "EtaRangeDstar", 2.7}
Gaudi::Property< double > m_RxyMinDstar {this, "RxyMinDstar", -1e9}
Gaudi::Property< double > m_PtMinPis {this, "PtMinPis", 450.}
Gaudi::Property< double > m_PtMaxPis {this, "PtMaxPis", 1e9}
Gaudi::Property< double > m_EtaRangePis {this, "EtaRangePis", 2.7}
Gaudi::Property< double > m_PtMinKpi {this, "PtMinKpi", 900.}
Gaudi::Property< double > m_PtMaxKpi {this, "PtMaxKpi", 1e9}
Gaudi::Property< double > m_EtaRangeKpi {this, "EtaRangeKpi", 2.7}
Gaudi::Property< bool > m_D0Kpi_only {this, "D0Kpi_only", false}
Gaudi::Property< double > m_mKpiMin {this, "mKpiMin", 1665.}
Gaudi::Property< double > m_mKpiMax {this, "mKpiMax", 2065.}
Gaudi::Property< double > m_delta_m_Max {this, "delta_m_Max", 220.}
Gaudi::Property< double > m_DstarMu_m_Max {this, "DstarMu_m_Max", 12000.}
const double m_MuonMass = ParticleConstants::muonMassInMeV
const double m_PionMass = ParticleConstants::chargedPionMassInMeV
const double m_KaonMass = ParticleConstants::chargedKaonMassInMeV
SG::ReadHandleKey< xAOD::TruthParticleContainerm_xaodTruthParticleContainerNameGenKey {this, "TruthParticlesKey", "TruthGen", "ReadHandleKey for the xAODTruthParticlesGen"}
DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default).
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default).
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Properties

SG::ReadHandleKey< McEventCollectionm_mcevents_const { this, "McEventKey", "GEN_EVENT", "StoreGate key of the MC event collection" }
 Const handle to the MC event collection.
std::string m_mcEventKey {}
 StoreGate key for the MC event collection (defaults to GEN_EVENT).
BooleanProperty m_mkMcEvent {this, "MakeMcEvent", false, "Create a new MC event collection if it doesn't exist"}
 Flag to determine if a new MC event collection should be made if it doesn't exist.

Detailed Description

Definition at line 39 of file xAODMuDstarFilter.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ xAODMuDstarFilter()

xAODMuDstarFilter::xAODMuDstarFilter ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 49 of file xAODMuDstarFilter.cxx.

50 : GenFilter(name, pSvcLocator)
51{
52 //--------------------------------------------------------------------------
53}
GenFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition GenFilter.cxx:8

◆ ~xAODMuDstarFilter()

xAODMuDstarFilter::~xAODMuDstarFilter ( )
virtualdefault

Member Function Documentation

◆ ATLAS_NOT_CONST_THREAD_SAFE() [1/2]

McEventCollection *events GenBase::ATLAS_NOT_CONST_THREAD_SAFE ( )
inherited

Access the current event's McEventCollection.

Note
This function will make a new McEventCollection if there is not already a valid one and MakeMcEvent=True.

◆ ATLAS_NOT_CONST_THREAD_SAFE() [2/2]

HepMC::GenEvent *event GenBase::ATLAS_NOT_CONST_THREAD_SAFE ( )
inlineinherited

Access the current signal event (first in the McEventCollection).

Note
This function will make a new McEventCollection if there is not already a valid one and MakeMcEvent=True.

Definition at line 74 of file GenBase.h.

74 {
75 if (events()->empty())
76 ATH_MSG_ERROR("McEventCollection is empty during first event access");
77 return *(events()->begin());
78 }
#define ATH_MSG_ERROR(x)
static const Attributes_t empty

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ event_const()

const HepMC::GenEvent * GenBase::event_const ( const EventContext & ctx) const
inlineinherited

Access the current signal event (const).

Definition at line 81 of file GenBase.h.

81 {
82 const McEventCollection* coll = events_const(ctx);
83 if (coll->empty())
84 ATH_MSG_ERROR("Const McEventCollection is empty during first event access");
85 return *(coll->begin());
86 }
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
bool empty() const noexcept
Returns true if the collection is empty.
const McEventCollection * events_const(const EventContext &ctx) const
Access the current event's McEventCollection (const).
Definition GenBase.h:95

◆ events_const()

const McEventCollection * GenBase::events_const ( const EventContext & ctx) const
inlineinherited

Access the current event's McEventCollection (const).

Definition at line 95 of file GenBase.h.

95 {
96 SG::ReadHandle<McEventCollection> ret = SG::makeHandle(m_mcevents_const, ctx);
97 if (!ret.isValid())
98 ATH_MSG_ERROR("No McEventCollection found in StoreGate with key " << m_mcevents_const.key());
99 return ret.cptr();
100 }
SG::ReadHandleKey< McEventCollection > m_mcevents_const
Const handle to the MC event collection.
Definition GenBase.h:119
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const_pointer_type cptr()
Dereference the pointer.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode GenFilter::execute ( const EventContext & ctx)
virtualinherited

Execute method.

Todo
Probably the filter should only look at the first event... right?

Reimplemented from GenBase.

Definition at line 27 of file GenFilter.cxx.

27 {
28 if (events_const(ctx)->empty()) {
29 ATH_MSG_ERROR("No events found in McEventCollection");
30 return StatusCode::FAILURE;
31 } else if (events_const(ctx)->size() > 1) {
33 ATH_MSG_WARNING("More than one event in current McEventCollection -- which is valid?");
34 }
36 if (filterPassed(ctx) || m_keepAll ) {
37 ATH_MSG_DEBUG("Event passed filter");
38 m_nPass += 1;
39 } else {
40 ATH_MSG_DEBUG("Event failed filter");
41 m_nFail += 1;
42 }
43 // Bail out once we have enough events
44 if (m_nPass >= m_nNeeded && m_nNeeded > 0)
45 sc = StatusCode::FAILURE;
46 return sc;
47}
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
static Double_t sc
size_t size() const
Number of registered mappings.
virtual bool filterPassed(const EventContext &ctx) const
bool m_keepAll
Definition GenFilter.h:66
int m_nPass
Definition GenFilter.h:63
int m_nNeeded
Definition GenFilter.h:65
virtual StatusCode filterEvent(const EventContext &ctx)=0
int m_nFail
Definition GenFilter.h:64
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthCommonAlgorithm< Gaudi::Algorithm >::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 89 of file AthCommonAlgorithm.cxx.

54{
55 // If we didn't find any symlinks to add, just return the collection
56 // from the base class. Otherwise, return the extended collection.
57 if (!m_extendedExtraObjects.empty()) {
59 }
61}
Common base class for algorithms.

◆ filterEvent()

StatusCode xAODMuDstarFilter::filterEvent ( const EventContext & ctx)
virtual

Implements GenFilter.

Definition at line 95 of file xAODMuDstarFilter.cxx.

96{
97 //---------------------------------------------------------------------------
98
99// Retrieve TruthGen container from xAODTruthParticleSlimmerGen, contains all particles witout barcode_zero and
100// duplicated barcode ones
101 SG::ReadHandle<xAOD::TruthParticleContainer>
102 xTruthParticleContainer(
104 if (!xTruthParticleContainer.isValid()) {
105 ATH_MSG_ERROR("Could not retrieve xAOD::TruthParticleGenContainer with key:"
107
108 return StatusCode::FAILURE;
109 }
110
111 ATH_MSG_DEBUG(" xAODMuDstarFilter filtering ");
112 double primx = 0.;
113 double primy = 0.;
114 int NumMuons = 0;
115 int NumDstars = 0;
116
117 std::vector<const xAOD::TruthParticle *> Muons;
118
119 unsigned int nPart = xTruthParticleContainer->size();
120 ATH_MSG_DEBUG("xAODMuDstarFilter:number of particles " << nPart);
121
122 // Loop over all particles in the event
123 for (const xAOD::TruthParticle* pitr : *xTruthParticleContainer) {
124
125 if (MC::isBeam(pitr)){
126 const xAOD::TruthVertex *vprim = (pitr)->decayVtx();
127 primx = vprim->x();
128 primy = vprim->y();
129
130 ATH_MSG_DEBUG("xAODMuDstarFilter: PV x, y = " << primx << " , " << primy);
131 }
132
133 if (!MC::isPhysical(pitr))
134 continue; // photos history line
135
136 // muons
137 if (pitr->isMuon())
138 {
139 if ((pitr->pt() >= m_PtMinMuon) &&
140 (pitr->pt() < m_PtMaxMuon) &&
141 (std::abs(pitr->eta()) < m_EtaRangeMuon))
142 {
143 NumMuons++;
144 Muons.push_back(pitr);
145 }
146 }
147 }
148
149 if (NumMuons == 0){
150 setFilterPassed(false, ctx);
151 return StatusCode::SUCCESS;
152 }
153
154 ATH_MSG_DEBUG("xAODMuDstarFilter: NumMuons = " << NumMuons );
155
156 for (const xAOD::TruthParticle* pitr : *xTruthParticleContainer) {
157 if (!MC::isPhysical(pitr))
158 continue; // photos history line
159
160 // Dstars
161 if (std::abs(pitr->pdgId()) == MC::DSTAR)
162 {
163 if ((pitr->pt() >= m_PtMinDstar) &&
164 (pitr->pt() < m_PtMaxDstar) &&
165 (std::abs(pitr->eta()) < m_EtaRangeDstar))
166 {
167
168 //Check if has end_vertex
169 if (!(pitr->decayVtx()))
170 continue;
171 double Rxy = std::hypot(pitr->decayVtx()->x() - primx, pitr->decayVtx()->y() - primy);
172
173 ATH_MSG_DEBUG("xAODMuDstarFilter: R_xy(Dstar) = " << Rxy);
174
175 if (Rxy < m_RxyMinDstar)
176 continue;
177
178 auto firstChild = pitr->decayVtx()->outgoingParticle(0);
179 if (firstChild->pdgId() == pitr->pdgId())
180 continue;
181
182 TLorentzVector p4_pis;
183
184 int pis_pdg = 0;
185 int K_pdg = 0;
186
187 int NumD0 = 0;
188 int NumPis = 0;
189
190 for (size_t thisChild_id = 0; thisChild_id < pitr->decayVtx()->nOutgoingParticles(); thisChild_id++)
191 {
192
193 auto thisChild = pitr->decayVtx()->outgoingParticle(thisChild_id);
194 if (!MC::isPhysical(thisChild))
195 continue; // photos history line
196
197 if (std::abs(thisChild->pdgId()) == MC::PIPLUS)
198 {
199 if ((thisChild->pt() >= m_PtMinPis) &&
200 (thisChild->pt() < m_PtMaxPis) &&
201 (std::abs(thisChild->eta()) < m_EtaRangePis))
202 {
203 NumPis++;
204
205 p4_pis.SetPtEtaPhiM(thisChild->pt(), thisChild->eta(), thisChild->phi(), m_PionMass);
206 pis_pdg = thisChild->pdgId();
207 }
208 }
209 } // thisChild
210
211 if (NumPis == 0)
212 continue;
213
214 ATH_MSG_DEBUG("xAODMuDstarFilter: NumPis = " << NumPis);
215
216 const xAOD::TruthParticle *D0Child1{nullptr}, *D0Child2{nullptr}, *D0ChildMu{nullptr};
217
218 int NumChildD0 = 0;
219 int NumChildD0Charged = 0;
220 int NumChildD0neutrinos = 0;
221 int NumChildD0gammas = 0;
222 int ChargeD0Child1 = 0;
223 int ChargeD0Child2 = 0;
224 int NumChildD0K = 0;
225 int NumChildD0pi = 0;
226 int NumChildD0mu = 0;
227
228 for (size_t thisChild_id = 0; thisChild_id < pitr->decayVtx()->nOutgoingParticles(); thisChild_id++)
229 {
230 auto thisChild = pitr->decayVtx()->outgoingParticle(thisChild_id);
231 if (!MC::isPhysical(thisChild))
232 continue; // photos history line
233
234 if (std::abs(thisChild->pdgId()) == MC::D0)
235 {
236 if (! thisChild->decayVtx()) continue;
237
238 for (size_t thisChild1_id = 0; thisChild1_id < thisChild->decayVtx()->nOutgoingParticles(); thisChild1_id++)
239 {
240 auto thisChild1 = thisChild->decayVtx()->outgoingParticle(thisChild1_id);
241 if (!MC::isPhysical(thisChild1))
242 continue; // photos history line
243
244 if (thisChild1->isElectron() || thisChild1->isMuon() ||
245 std::abs(thisChild1->pdgId()) == MC::PIPLUS || std::abs(thisChild1->pdgId()) == MC::KPLUS)
246 {
247
248 NumChildD0++;
249 if ((thisChild1->pt() >= m_PtMinKpi) &&
250 (thisChild1->pt() < m_PtMaxKpi) &&
251 (std::abs(thisChild1->eta()) < m_EtaRangeKpi))
252 {
253 NumChildD0Charged++;
254
255 if (NumChildD0Charged == 1)
256 {
257 D0Child1 = thisChild1;
258 ChargeD0Child1 = D0Child1->charge();
259 }
260 if (NumChildD0Charged == 2)
261 {
262 D0Child2 = thisChild1;
263 ChargeD0Child2 = D0Child2->charge();
264 }
265 if (thisChild1->isMuon())
266 {
267 NumChildD0mu++;
268 D0ChildMu = thisChild1;
269 }
270 if (std::abs(thisChild1->pdgId()) == MC::PIPLUS)
271 NumChildD0pi++;
272 if (std::abs(thisChild1->pdgId()) == MC::KPLUS)
273 {
274 NumChildD0K++;
275 K_pdg = thisChild1->pdgId();
276 }
277 }
278 }
279 else if (std::abs(thisChild1->pdgId()) == MC::PI0)
280 {
281 NumChildD0++;
282 }
283 else if (thisChild1->isNeutrino())
284 {
285 NumChildD0neutrinos++;
286 }
287 else if (thisChild1->isPhoton())
288 {
289 NumChildD0gammas++;
290 }
291 else if (std::abs(thisChild1->pdgId()) == MC::K0 || std::abs(thisChild1->pdgId()) == MC::K0L ||
292 std::abs(thisChild1->pdgId()) == MC::K0S)
293 {
294 NumChildD0++;
295 NumChildD0++;
296 }
297 else if (thisChild1->decayVtx())
298 {
299 for (size_t thisChild2_id = 0; thisChild2_id < thisChild1->decayVtx()->nOutgoingParticles(); thisChild2_id++)
300 {
301
302 auto thisChild2 = thisChild1->decayVtx()->outgoingParticle(thisChild2_id);
303 if (!MC::isPhysical(thisChild2))
304 continue; // photos history line
305
306 if (thisChild2->isElectron() || thisChild2->isMuon() ||
307 std::abs(thisChild2->pdgId()) == MC::PIPLUS || std::abs(thisChild2->pdgId()) == MC::KPLUS)
308 {
309 NumChildD0++;
310
311 if ((thisChild2->pt() >= m_PtMinKpi) &&
312 (thisChild2->pt() < m_PtMaxKpi) &&
313 (std::abs(thisChild2->eta()) < m_EtaRangeKpi))
314 {
315 NumChildD0Charged++;
316
317 if (NumChildD0Charged == 1)
318 {
319 D0Child1 = thisChild2;
320 ChargeD0Child2 = D0Child1->charge();
321 }
322 if (NumChildD0Charged == 2)
323 {
324 D0Child2 = thisChild2;
325 ChargeD0Child2 = D0Child2->charge();
326 }
327 if (thisChild2->isMuon())
328 {
329 NumChildD0mu++;
330 D0ChildMu = thisChild2;
331 }
332 }
333 }
334 else if (std::abs(thisChild2->pdgId()) == MC::PI0)
335 {
336 NumChildD0++;
337 }
338 else if (thisChild2->isNeutrino())
339 {
340 NumChildD0neutrinos++;
341 }
342 else if (thisChild2->isPhoton())
343 {
344 NumChildD0gammas++;
345 }
346 else if (std::abs(thisChild2->pdgId()) == MC::K0 || std::abs(thisChild2->pdgId()) == MC::K0L ||
347 std::abs(thisChild2->pdgId()) == MC::K0S)
348 {
349 NumChildD0++;
350 NumChildD0++;
351 }
352 else if (thisChild2->decayVtx())
353 {
354 NumChildD0++;
355 NumChildD0++;
356 }
357 else
358 {
359 NumChildD0++;
360 NumChildD0++;
361 ATH_MSG_DEBUG("xAODMuDstarFilter: unexpected D0 granddaughter = " << thisChild2->pdgId());
362 }
363 } // thisChild2
364 }
365 else
366 {
367 NumChildD0++;
368 NumChildD0++;
369 ATH_MSG_DEBUG("xAODMuDstarFilter: unexpected D0 daughter = " << thisChild1->pdgId());
370 }
371 } // thisChild1
372
373 ATH_MSG_DEBUG("xAODMuDstarFilter: NumChildD0, NumChildD0Charged = " << NumChildD0 << " , " << NumChildD0Charged);
374
375 if (NumChildD0 <= 3 && NumChildD0Charged == 2 && ChargeD0Child1 * ChargeD0Child2 < 0)
376 {
377 if (m_D0Kpi_only)
378 {
379 if (NumChildD0 == 2 && NumChildD0K == 1 && NumChildD0pi == 1){
380 NumD0++;
381 }
382 }
383 else
384 {
385 NumD0++;
386 }
387 }
388 } // D0
389
390 ATH_MSG_DEBUG("xAODMuDstarFilter: NumD0 = " << NumD0);
391
392 if (NumD0 == 1)
393 {
394
395 if (pis_pdg * ChargeD0Child1 > 0) std::swap(D0Child1, D0Child2);
396 TLorentzVector p4_K;
397 p4_K.SetPtEtaPhiM(D0Child1->pt(), D0Child1->eta(), D0Child1->phi(), m_KaonMass);
398 TLorentzVector p4_pi;
399 p4_pi.SetPtEtaPhiM(D0Child2->pt(), D0Child2->eta(), D0Child2->phi(), m_PionMass);
400
401 TLorentzVector p4_D0 = p4_K + p4_pi;
402 double mKpi = p4_D0.M();
403
404 ATH_MSG_DEBUG("xAODMuDstarFilter: mKpi = " << mKpi);
405
406 if (mKpi >= m_mKpiMin && mKpi <= m_mKpiMax)
407 {
408
409 TLorentzVector p4_Dstar = p4_D0 + p4_pis;
410
411 double delta_m = p4_Dstar.M() - mKpi;
412
413 ATH_MSG_DEBUG("xAODMuDstarFilter: delta_m = " << delta_m);
414
415 if (delta_m <= m_delta_m_Max)
416 {
417 NumDstars++;
418
419 ATH_MSG_DEBUG("xAODMuDstarFilter: NumDstars = " << NumDstars);
420
421 for (size_t i = 0; i < Muons.size(); ++i)
422 {
423
424 if (NumChildD0mu == 1)
425 {
426 if (std::fabs(Muons[i]->pt() - D0ChildMu->pt()) < std::numeric_limits<double>::epsilon())
427 continue;
428 ATH_MSG_DEBUG("xAODMuDstarFilter: Mu(pT), D0Mu(pT) = " << Muons[i]->pt() << " , " << D0ChildMu->pt());
429 }
430
431 TLorentzVector p4_Mu;
432 p4_Mu.SetPtEtaPhiM(Muons[i]->pt(), Muons[i]->eta(), Muons[i]->phi(), m_MuonMass);
433
434 TLorentzVector p4_DstarMu = p4_Dstar + p4_Mu;
435
436 ATH_MSG_DEBUG("xAODMuDstarFilter: p4_DstarMu.M() = " << p4_DstarMu.M());
437
438 if (p4_DstarMu.M() <= m_DstarMu_m_Max)
439 {
440
441 ATH_MSG_DEBUG("xAODMuDstarFilter: MuDstar candidate found");
442 ATH_MSG_DEBUG("xAODMuDstarFilter: p4_DstarMu.M() = " << p4_DstarMu.M());
443 ATH_MSG_DEBUG("xAODMuDstarFilter: NumChildD0, NumChildD0Charged = " << NumChildD0 << " , " << NumChildD0Charged);
444 ATH_MSG_DEBUG("xAODMuDstarFilter: NumChildD0K, NumChildD0pi, NumChildD0mu = " << NumChildD0K << " , " << NumChildD0pi << " , " << NumChildD0mu);
445
446 if (NumChildD0mu == 1)
447 {
448
449 ATH_MSG_DEBUG("xAODMuDstarFilter: Mu(pT), D0Mu(pT) = " << Muons[i]->pt() << " , " << D0ChildMu->pt());
450 }
451
452 ATH_MSG_DEBUG("xAODMuDstarFilter: NumChildD0neutrinos, NumChildD0gammas = " << NumChildD0neutrinos << " , " << NumChildD0gammas);
453 ATH_MSG_DEBUG("xAODMuDstarFilter: pis_pdg, K_pdg, ChargeD0Child1, ChargeD0Child2 = " << pis_pdg << " , " << K_pdg << " , " << ChargeD0Child1 << " , " << ChargeD0Child2);
454
455 setFilterPassed(true, ctx);
456 return StatusCode::SUCCESS;
457 }
458 } // for i
459
460 } //delta_m
461 } // mKpi
462 } // NumD0
463 } // thisChild
464 } // PtMinDstar
465
466 } // DSTAR
467
468 } // pitr
469
470
471
472 //
473 // if we get here we have failed
474 //
475 setFilterPassed(false, ctx);
476 return StatusCode::SUCCESS;
477}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
virtual void setFilterPassed(bool state, const EventContext &ctx) const
Gaudi::Property< double > m_EtaRangeKpi
Gaudi::Property< double > m_EtaRangeDstar
const double m_KaonMass
Gaudi::Property< double > m_delta_m_Max
Gaudi::Property< double > m_EtaRangePis
Gaudi::Property< double > m_PtMinKpi
Gaudi::Property< double > m_DstarMu_m_Max
Gaudi::Property< double > m_PtMinMuon
Gaudi::Property< double > m_mKpiMin
Gaudi::Property< double > m_PtMaxMuon
Gaudi::Property< bool > m_D0Kpi_only
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_xaodTruthParticleContainerNameGenKey
Gaudi::Property< double > m_RxyMinDstar
const double m_PionMass
Gaudi::Property< double > m_PtMaxPis
Gaudi::Property< double > m_EtaRangeMuon
Gaudi::Property< double > m_mKpiMax
Gaudi::Property< double > m_PtMinDstar
Gaudi::Property< double > m_PtMaxKpi
Gaudi::Property< double > m_PtMaxDstar
Gaudi::Property< double > m_PtMinPis
const double m_MuonMass
virtual double pt() const override final
The transverse momentum ( ) of the particle.
double charge() const
Physical charge.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
float y() const
Vertex y displacement.
float x() const
Vertex x displacement.
static const int PI0
static const int KPLUS
static const int K0
static const int K0L
static const int K0S
static const int DSTAR
static const int PIPLUS
bool isBeam(const T &p)
Identify if the particle is beam particle.
static const int D0
bool isPhysical(const T &p)
Identify if the particle is physical, i.e. is stable or decayed.
void swap(ElementLinkVector< DOBJ > &lhs, ElementLinkVector< DOBJ > &rhs)
TruthVertex_v1 TruthVertex
Typedef to implementation.
Definition TruthVertex.h:15
TruthParticle_v1 TruthParticle
Typedef to implementation.

◆ filterFinalize()

◆ filterInitialize()

StatusCode xAODMuDstarFilter::filterInitialize ( )
virtual

Reimplemented from GenFilter.

Definition at line 58 of file xAODMuDstarFilter.cxx.

59{
60 //---------------------------------------------------------------------------
61 ATH_MSG_INFO("xAODMuDstarFilter v1.02 INITIALISING ");
62
63 ATH_MSG_INFO("PtMinMuon = " << m_PtMinMuon);
64 ATH_MSG_INFO("PtMaxMuon = " << m_PtMaxMuon);
65 ATH_MSG_INFO("EtaRangeMuon = " << m_EtaRangeMuon);
66
67 ATH_MSG_INFO("PtMinDstar = " << m_PtMinDstar);
68 ATH_MSG_INFO("PtMaxDstar = " << m_PtMaxDstar);
69 ATH_MSG_INFO("EtaRangeDstar = " << m_EtaRangeDstar);
70
71 ATH_MSG_INFO("RxyMinDstar = " << m_RxyMinDstar);
72
73 ATH_MSG_INFO("PtMinPis = " << m_PtMinPis);
74 ATH_MSG_INFO("PtMaxPis = " << m_PtMaxPis);
75 ATH_MSG_INFO("EtaRangePis = " << m_EtaRangePis);
76
77 ATH_MSG_INFO("D0Kpi_only = " << m_D0Kpi_only);
78 ATH_MSG_INFO("PtMinKpi = " << m_PtMinKpi);
79 ATH_MSG_INFO("PtMaxKpi = " << m_PtMaxKpi);
80 ATH_MSG_INFO("EtaRangeKpi = " << m_EtaRangeKpi);
81
82 ATH_MSG_INFO("mKpiMin = " << m_mKpiMin);
83 ATH_MSG_INFO("mKpiMax = " << m_mKpiMax);
84
85 ATH_MSG_INFO("delta_m_Max = " << m_delta_m_Max);
86
87 ATH_MSG_INFO("DstarMu_m_Max = " << m_DstarMu_m_Max);
88
90
91 return StatusCode::SUCCESS;
92}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x)

◆ filterPassed()

virtual bool AthCommonAlgorithm< Gaudi::Algorithm >::filterPassed ( const EventContext & ctx) const
inlinevirtualinherited

Get filter decision:

Definition at line 93 of file AthCommonAlgorithm.h.

93 {
94 return execState( ctx ).filterPassed();
95 }

◆ finalize()

StatusCode GenFilter::finalize ( )
inherited

Definition at line 50 of file GenFilter.cxx.

50 {
51 ATH_MSG_INFO("Events passed = " << m_nPass << " Events failed = " << m_nFail);
53 return StatusCode::SUCCESS;
54}
#define CHECK(...)
Evaluate an expression and check for errors.
virtual StatusCode filterFinalize()
Definition GenFilter.h:47

◆ initialize()

StatusCode GenFilter::initialize ( )
virtualinherited

Reimplemented from GenBase.

Definition at line 18 of file GenFilter.cxx.

18 {
20 m_nPass = 0;
21 m_nFail = 0;
23 return StatusCode::SUCCESS;
24}
virtual StatusCode initialize() override
Definition GenBase.cxx:17
virtual StatusCode filterInitialize()
Definition GenFilter.h:45

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ isClonable()

virtual bool AthCommonAlgorithm< Gaudi::Algorithm >::isClonable ( ) const
inlineoverridevirtualinherited

Specify if the algorithm is clonable.

Only relevant for non-reentrant algorithms. Actual number of clones needs to be set via the "Cardinality" property.

Reimplemented in AFP_DigiTop, AlgB, AlgT, BCM_Digitization, CscDigitBuilder, CscDigitToCscRDO, G4AtlasAlg, G4RunAlg, HGTD_Digitization, HiveAlgBase, InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ISF::SimKernelMT, ITk::StripDigitization, ITkPixelCablingAlg, ITkStripCablingAlg, LArHitEMapMaker, LArTTL1Maker, LUCID_DigiTop, LVL1::L1TopoSimulation, MergeCalibHits, MergeGenericMuonSimHitColl, MergeHijingPars, MergeMcEventCollection, MergeTrackRecordCollection, MergeTruthJets, MergeTruthParticles, MuonDigitizer, PileUpMTAlg, PixelDigitization, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_Digitization, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, SGInputLoader, Simulation::BeamEffectsAlg, TileHitVecToCnt, TileMuonFitter, TilePulseForTileMuonReceiver, TileRawChannelMaker, TRTDigitization, and ZDC_DigiTop.

Definition at line 68 of file AthCommonAlgorithm.h.

68 {
69 return true;
70 }

◆ isReEntrant()

virtual bool AthAlgorithm::isReEntrant ( ) const
inlinefinaloverrideprotectedvirtualinherited

Legacy algorithms are not thread-safe.

Definition at line 47 of file AthAlgorithm.h.

47{ return false; }

◆ keepAll()

bool GenFilter::keepAll ( ) const
inlineinherited

Definition at line 55 of file GenFilter.h.

55{return m_keepAll; }

◆ msg()

MsgStream & AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Gaudi::Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ nFailed()

int GenFilter::nFailed ( ) const
inlineinherited

Definition at line 53 of file GenFilter.h.

53{ return m_nFail; }

◆ nNeeded()

int GenFilter::nNeeded ( ) const
inlineinherited

Definition at line 54 of file GenFilter.h.

54{ return m_nNeeded; }

◆ nPassed()

int GenFilter::nPassed ( ) const
inlineinherited

Definition at line 52 of file GenFilter.h.

52{ return m_nPass; }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setFilterPassed()

virtual void AthCommonAlgorithm< Gaudi::Algorithm >::setFilterPassed ( bool state,
const EventContext & ctx ) const
inlinevirtualinherited

Set filter decision:

Reimplemented in AthFilterAlgorithm.

Definition at line 99 of file AthCommonAlgorithm.h.

99 {
101 }

◆ sysExecute()

StatusCode AthCommonAlgorithm< Gaudi::Algorithm >::sysExecute ( const EventContext & ctx)
overridevirtualinherited

Execute an algorithm.

We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.

Reimplemented in AthAnalysisAlgorithm.

Definition at line 80 of file AthCommonAlgorithm.cxx.

41{
42 return BaseAlg::sysExecute (ctx);
43}

◆ sysInitialize()

StatusCode AthCommonAlgorithm< Gaudi::Algorithm >::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, HypoBase, InputMakerBase, and PyAthena::Alg.

Definition at line 60 of file AthCommonAlgorithm.cxx.

71 {
73
74 if (sc.isFailure()) {
75 return sc;
76 }
77
78 ServiceHandle<ICondSvc> cs("CondSvc",name());
79 for (auto h : outputHandles()) {
80 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
81 // do this inside the loop so we don't create the CondSvc until needed
82 if ( cs.retrieve().isFailure() ) {
83 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
85 }
86 if (cs->regHandle(this,*h).isFailure()) {
88 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
89 << " with CondSvc");
90 }
91 }
92 }
93 return sc;
94}
virtual StatusCode sysInitialize() override
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }

Member Data Documentation

◆ m_D0Kpi_only

Gaudi::Property<bool> xAODMuDstarFilter::m_D0Kpi_only {this, "D0Kpi_only", false}
private

Definition at line 65 of file xAODMuDstarFilter.h.

65{this, "D0Kpi_only", false};

◆ m_delta_m_Max

Gaudi::Property<double> xAODMuDstarFilter::m_delta_m_Max {this, "delta_m_Max", 220.}
private

Definition at line 70 of file xAODMuDstarFilter.h.

70{this, "delta_m_Max", 220.};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default).

Definition at line 393 of file AthCommonDataStore.h.

◆ m_DstarMu_m_Max

Gaudi::Property<double> xAODMuDstarFilter::m_DstarMu_m_Max {this, "DstarMu_m_Max", 12000.}
private

Definition at line 72 of file xAODMuDstarFilter.h.

72{this, "DstarMu_m_Max", 12000.};

◆ m_EtaRangeDstar

Gaudi::Property<double> xAODMuDstarFilter::m_EtaRangeDstar {this, "EtaRangeDstar", 2.7}
private

Definition at line 54 of file xAODMuDstarFilter.h.

54{this, "EtaRangeDstar", 2.7};

◆ m_EtaRangeKpi

Gaudi::Property<double> xAODMuDstarFilter::m_EtaRangeKpi {this, "EtaRangeKpi", 2.7}
private

Definition at line 63 of file xAODMuDstarFilter.h.

63{this, "EtaRangeKpi", 2.7};

◆ m_EtaRangeMuon

Gaudi::Property<double> xAODMuDstarFilter::m_EtaRangeMuon {this,"EtaRangeMuon", 2.7}
private

Definition at line 50 of file xAODMuDstarFilter.h.

50{this,"EtaRangeMuon", 2.7};

◆ m_EtaRangePis

Gaudi::Property<double> xAODMuDstarFilter::m_EtaRangePis {this, "EtaRangePis", 2.7}
private

Definition at line 59 of file xAODMuDstarFilter.h.

59{this, "EtaRangePis", 2.7};

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default).

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthCommonAlgorithm< Gaudi::Algorithm >::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 108 of file AthCommonAlgorithm.h.

◆ m_KaonMass

const double xAODMuDstarFilter::m_KaonMass = ParticleConstants::chargedKaonMassInMeV
private

Definition at line 76 of file xAODMuDstarFilter.h.

◆ m_keepAll

bool GenFilter::m_keepAll
protectedinherited

Definition at line 66 of file GenFilter.h.

◆ m_mcEventKey

std::string GenBase::m_mcEventKey {}
protectedinherited

StoreGate key for the MC event collection (defaults to GEN_EVENT).

Definition at line 110 of file GenBase.h.

110{};

◆ m_mcevents_const

SG::ReadHandleKey<McEventCollection> GenBase::m_mcevents_const { this, "McEventKey", "GEN_EVENT", "StoreGate key of the MC event collection" }
privateinherited

Const handle to the MC event collection.

Definition at line 119 of file GenBase.h.

119{ this, "McEventKey", "GEN_EVENT", "StoreGate key of the MC event collection" };

◆ m_mkMcEvent

BooleanProperty GenBase::m_mkMcEvent {this, "MakeMcEvent", false, "Create a new MC event collection if it doesn't exist"}
protectedinherited

Flag to determine if a new MC event collection should be made if it doesn't exist.

Definition at line 112 of file GenBase.h.

112{this, "MakeMcEvent", false, "Create a new MC event collection if it doesn't exist"};

◆ m_mKpiMax

Gaudi::Property<double> xAODMuDstarFilter::m_mKpiMax {this, "mKpiMax", 2065.}
private

Definition at line 68 of file xAODMuDstarFilter.h.

68{this, "mKpiMax", 2065.};

◆ m_mKpiMin

Gaudi::Property<double> xAODMuDstarFilter::m_mKpiMin {this, "mKpiMin", 1665.}
private

Definition at line 67 of file xAODMuDstarFilter.h.

67{this, "mKpiMin", 1665.};

◆ m_MuonMass

const double xAODMuDstarFilter::m_MuonMass = ParticleConstants::muonMassInMeV
private

Definition at line 74 of file xAODMuDstarFilter.h.

◆ m_nFail

int GenFilter::m_nFail
protectedinherited

Definition at line 64 of file GenFilter.h.

◆ m_nNeeded

int GenFilter::m_nNeeded
protectedinherited

Definition at line 65 of file GenFilter.h.

◆ m_nPass

int GenFilter::m_nPass
protectedinherited

Definition at line 63 of file GenFilter.h.

◆ m_PionMass

const double xAODMuDstarFilter::m_PionMass = ParticleConstants::chargedPionMassInMeV
private

Definition at line 75 of file xAODMuDstarFilter.h.

◆ m_PtMaxDstar

Gaudi::Property<double> xAODMuDstarFilter::m_PtMaxDstar {this,"PtMaxDstar", 1e9}
private

Definition at line 53 of file xAODMuDstarFilter.h.

53{this,"PtMaxDstar", 1e9};

◆ m_PtMaxKpi

Gaudi::Property<double> xAODMuDstarFilter::m_PtMaxKpi {this, "PtMaxKpi", 1e9}
private

Definition at line 62 of file xAODMuDstarFilter.h.

62{this, "PtMaxKpi", 1e9};

◆ m_PtMaxMuon

Gaudi::Property<double> xAODMuDstarFilter::m_PtMaxMuon {this,"PtMaxMuon", 1e9}
private

Definition at line 49 of file xAODMuDstarFilter.h.

49{this,"PtMaxMuon", 1e9};

◆ m_PtMaxPis

Gaudi::Property<double> xAODMuDstarFilter::m_PtMaxPis {this, "PtMaxPis", 1e9}
private

Definition at line 58 of file xAODMuDstarFilter.h.

58{this, "PtMaxPis", 1e9};

◆ m_PtMinDstar

Gaudi::Property<double> xAODMuDstarFilter::m_PtMinDstar {this,"PtMinDstar", 4500.}
private

Definition at line 52 of file xAODMuDstarFilter.h.

52{this,"PtMinDstar", 4500.};

◆ m_PtMinKpi

Gaudi::Property<double> xAODMuDstarFilter::m_PtMinKpi {this, "PtMinKpi", 900.}
private

Definition at line 61 of file xAODMuDstarFilter.h.

61{this, "PtMinKpi", 900.};

◆ m_PtMinMuon

Gaudi::Property<double> xAODMuDstarFilter::m_PtMinMuon {this,"PtMinMuon", 2500.}
private

Definition at line 48 of file xAODMuDstarFilter.h.

48{this,"PtMinMuon", 2500.};

◆ m_PtMinPis

Gaudi::Property<double> xAODMuDstarFilter::m_PtMinPis {this, "PtMinPis", 450.}
private

Definition at line 57 of file xAODMuDstarFilter.h.

57{this, "PtMinPis", 450.};

◆ m_RxyMinDstar

Gaudi::Property<double> xAODMuDstarFilter::m_RxyMinDstar {this, "RxyMinDstar", -1e9}
private

Definition at line 55 of file xAODMuDstarFilter.h.

55{this, "RxyMinDstar", -1e9};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_xaodTruthParticleContainerNameGenKey

SG::ReadHandleKey<xAOD::TruthParticleContainer> xAODMuDstarFilter::m_xaodTruthParticleContainerNameGenKey {this, "TruthParticlesKey", "TruthGen", "ReadHandleKey for the xAODTruthParticlesGen"}
private

Definition at line 79 of file xAODMuDstarFilter.h.

79{this, "TruthParticlesKey", "TruthGen", "ReadHandleKey for the xAODTruthParticlesGen"};

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