![]() |
ATLAS Offline Software
|
a PileUpTool to merge MC truth collection in the overlay store More...
#include <MergeMcEventCollTool.h>
Public Member Functions | |
| MergeMcEventCollTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual StatusCode | initialize () override final |
| virtual StatusCode | prepareEvent (const EventContext &ctx, unsigned int nInputEvents) override final |
| called before the subevts loop. | |
| virtual StatusCode | mergeEvent (const EventContext &ctx) override final |
| called at the end of the subevts loop. | |
| virtual StatusCode | processBunchXing (int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final |
| called for each active bunch-crossing to process current SubEvents bunchXing is in ns | |
| virtual StatusCode | processAllSubEvents (const EventContext &ctx) override final |
| return false if not interested in certain xing times (in ns) implemented by default in PileUpToolBase as FirstXing<=bunchXing<=LastXing | |
Private Types | |
| enum | puType { INTIME , OUTOFTIME , RESTOFMB , CAVERN , NOPUTYPE } |
| typedef enum MergeMcEventCollTool::puType | puType |
| typedef std::map< std::pair< int, int >, int > | PileUpBackgroundMap |
Private Member Functions | |
| StatusCode | processEvent (const McEventCollection *pMcEvtColl, const double currentEventTime, const int currentBkgEventIndex, int pileupType) |
| StatusCode | processFirstSubEvent (const McEventCollection *pMcEvtColl) |
| StatusCode | processUnfilteredEvent (const McEventCollection *pMcEvtColl, const double currentEventTime, const int currentBkgEventIndex, int pileupType) |
| StatusCode | processTruthFilteredEvent (const McEventCollection *pMcEvtColl, const double currentEventTime, const int currentBkgEventIndex, int pileupType) |
| StatusCode | compressOutputMcEventCollection () |
| void | printDetailsOfMergedMcEventCollection () const |
| StatusCode | saveHeavyIonInfo (const McEventCollection *pMcEvtColl) |
| MergeMcEventCollTool::puType | classifyVertex (const HepMC::ConstGenParticlePtr &pCurrentVertexParticle, const HepMC::ConstGenVertexPtr &pCurrentParticleProductionVertex, double currentEventTime) |
| bool | isInitialCollisionVertex (const HepMC::ConstGenVertexPtr &pCurrentVertex) const |
| bool | isTruthFiltertedMcEventCollection (const McEventCollection *pMcEvtColl) const |
| void | updateClassificationMap (int signal_process_id, int event_number, int hack, int classification, bool firstUpdateForThisEvent) |
Private Attributes | |
| PileUpBackgroundMap | m_backgroundClassificationMap |
| ServiceHandle< PileUpMergeSvc > | m_pMergeSvc {this, "PileUpMergeSvc", "PileUpMergeSvc", "Handle for the PileUpMergeSvc (provides input McEventCollections)"} |
| McEventCollection * | m_pOvrlMcEvColl {} |
| StringProperty | m_truthCollInputKey {this, "TruthCollInputKey", "TruthEvent", "Name of input McEventCollection"} |
| StringProperty | m_truthCollOutputKey {this, "TruthCollOutputKey", "TruthEvent", "Name of output McEventCollection"} |
| BooleanProperty | m_keepUnstable {this, "KeepUnstable", false, "Do not cut unstable particles"} |
| DoubleProperty | m_absEtaMax {this, "AbsEtaMax", 5.0, "Eta cut-off for INTIME GenParticles"} |
| DoubleProperty | m_absEtaMax_outOfTime {this,"OutOfTimeAbsEtaMax", 3.0, "Eta cut-off for OUTOFTIME GenParticles"} |
| DoubleProperty | m_lowTimeToKeep {this, "LowTimeToKeep", -51.0, "leading edge in ns of the time window to keep if SaveOutOfTimePileUp is true"} |
| DoubleProperty | m_highTimeToKeep {this, "HighTimeToKeep", 51.0, "trailing edge in ns of the time window to keep if SaveOutOfTimePileUp is true"} |
| DoubleProperty | m_rRange {this, "rRange", 20.0*Gaudi::Units::mm, "rRange of production vertex in mm"} |
| double | m_r2Range {400.0} |
| DoubleProperty | m_zRange {this, "zRange", 200.0*Gaudi::Units::mm, "z range of production vertex in mm"} |
| DoubleProperty | m_ptMin {this, "ptMin", 0.4*Gaudi::Units::GeV, "Minimum threshold for pT for selected pileup particles in MeV"} |
| DoubleProperty | m_minKinE {this, "EKinMin", 1.0*Gaudi::Units::MeV, "Minimum threshold for Kinetic Energy of selected cavern events in MeV"} |
| BooleanProperty | m_saveInTimePileup {this, "SaveInTimeMinBias", true, "save min bias particles in the t0 xing"} |
| BooleanProperty | m_saveOutOfTimePileup {this, "SaveOutOfTimeMinBias", true, "save out of time min bias particles in the [LowTimeToKeep:HighTimeToKeep] range"} |
| BooleanProperty | m_saveRestOfPileup {this, "SaveRestOfMinBias", false, "save the rest of out of time min bias particles as well"} |
| BooleanProperty | m_saveCavernBackground {this, "SaveCavernBackground", true, "save the cavern background as well"} |
| BooleanProperty | m_doSlimming {this, "DoSlimming", true, "flag to do the slimming or save everything"} |
| bool | m_saveType [NOPUTYPE] ={} |
| unsigned int | m_startingIndexForBackground {0} |
| bool | m_newevent {true} |
| unsigned int | m_nInputMcEventColls {0} |
| unsigned int | m_nBkgEventsReadSoFar {0} |
| BooleanProperty | m_addBackgroundCollisionVertices {this, "AddBackgroundCollisionVertices", true, "ensure that the collision GenVertex objects of minbias background events are saved."} |
| BooleanProperty | m_compressOutputCollection {this, "CompressOutputCollection", false, "Remove all empty GenEvents from the output McEventCollection"} |
| BooleanProperty | m_onlySaveSignalTruth {this, "OnlySaveSignalTruth", false, "Just save the Signal GenEvent"} |
| int | m_signal_event_number {0} |
structors and AlgTool implementation | |
| virtual bool | toProcess (int bunchXing) const override |
| the method this base class helps implementing | |
| virtual bool | filterPassed () const override |
| dummy implementation of passing filter | |
| virtual void | resetFilter () override |
| dummy implementation of filter reset | |
| Gaudi::Property< int > | m_firstXing |
| Gaudi::Property< int > | m_lastXing |
| Gaudi::Property< int > | m_vetoPileUpTruthLinks |
| bool | m_filterPassed {true} |
a PileUpTool to merge MC truth collection in the overlay store
$Id:
Definition at line 28 of file MergeMcEventCollTool.h.
|
private |
Definition at line 77 of file MergeMcEventCollTool.h.
|
private |
|
private |
| Enumerator | |
|---|---|
| INTIME | |
| OUTOFTIME | |
| RESTOFMB | |
| CAVERN | |
| NOPUTYPE | |
Definition at line 54 of file MergeMcEventCollTool.h.
| MergeMcEventCollTool::MergeMcEventCollTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 70 of file MergeMcEventCollTool.cxx.
|
private |
cut to select between minbias and cavern background pileup events
Definition at line 513 of file MergeMcEventCollTool.cxx.
|
private |
Definition at line 561 of file MergeMcEventCollTool.cxx.
|
inlineoverridevirtualinherited |
|
finaloverridevirtual |
Reimplemented from PileUpToolBase.
Definition at line 77 of file MergeMcEventCollTool.cxx.
|
private |
Definition at line 498 of file MergeMcEventCollTool.cxx.
|
private |
Definition at line 308 of file MergeMcEventCollTool.cxx.
|
finaloverridevirtual |
called at the end of the subevts loop.
Not (necessarily) able to access SubEvents
Definition at line 209 of file MergeMcEventCollTool.cxx.
|
finaloverridevirtual |
called before the subevts loop.
Not (necessarily) able to access SubEvents
Definition at line 98 of file MergeMcEventCollTool.cxx.
|
private |
Definition at line 238 of file MergeMcEventCollTool.cxx.
|
finaloverridevirtual |
return false if not interested in certain xing times (in ns) implemented by default in PileUpToolBase as FirstXing<=bunchXing<=LastXing
Reimplemented from PileUpToolBase.
Definition at line 117 of file MergeMcEventCollTool.cxx.
|
finaloverridevirtual |
called for each active bunch-crossing to process current SubEvents bunchXing is in ns
Reimplemented from PileUpToolBase.
Definition at line 185 of file MergeMcEventCollTool.cxx.
|
private |
Definition at line 320 of file MergeMcEventCollTool.cxx.
|
private |
Definition at line 257 of file MergeMcEventCollTool.cxx.
|
private |
Definition at line 371 of file MergeMcEventCollTool.cxx.
|
private |
add the in-coming particles to the in-time minbias vertex only
Definition at line 395 of file MergeMcEventCollTool.cxx.
|
inlineoverridevirtualinherited |
dummy implementation of filter reset
Reimplemented in MergeTruthJetsTool.
Definition at line 51 of file PileUpToolBase.h.
|
private |
Definition at line 355 of file MergeMcEventCollTool.cxx.
|
inlineoverridevirtualinherited |
the method this base class helps implementing
Reimplemented in MergeHijingParsTool, and MergeTrackRecordCollTool.
Definition at line 32 of file PileUpToolBase.h.
|
private |
Definition at line 585 of file MergeMcEventCollTool.cxx.
|
private |
Definition at line 88 of file MergeMcEventCollTool.h.
|
private |
Definition at line 89 of file MergeMcEventCollTool.h.
|
private |
Definition at line 121 of file MergeMcEventCollTool.h.
|
private |
Definition at line 78 of file MergeMcEventCollTool.h.
|
private |
Definition at line 123 of file MergeMcEventCollTool.h.
|
private |
Definition at line 109 of file MergeMcEventCollTool.h.
|
protectedinherited |
Definition at line 60 of file PileUpToolBase.h.
|
protectedinherited |
Definition at line 54 of file PileUpToolBase.h.
|
private |
Definition at line 91 of file MergeMcEventCollTool.h.
|
private |
Definition at line 87 of file MergeMcEventCollTool.h.
|
protectedinherited |
Definition at line 56 of file PileUpToolBase.h.
|
private |
Definition at line 90 of file MergeMcEventCollTool.h.
|
private |
Definition at line 99 of file MergeMcEventCollTool.h.
|
private |
Definition at line 119 of file MergeMcEventCollTool.h.
|
private |
Definition at line 115 of file MergeMcEventCollTool.h.
|
private |
Definition at line 117 of file MergeMcEventCollTool.h.
|
private |
Definition at line 125 of file MergeMcEventCollTool.h.
|
private |
Definition at line 82 of file MergeMcEventCollTool.h.
|
private |
Definition at line 84 of file MergeMcEventCollTool.h.
|
private |
Definition at line 98 of file MergeMcEventCollTool.h.
|
private |
Definition at line 95 of file MergeMcEventCollTool.h.
|
private |
Definition at line 93 of file MergeMcEventCollTool.h.
|
private |
Definition at line 107 of file MergeMcEventCollTool.h.
|
private |
Definition at line 101 of file MergeMcEventCollTool.h.
|
private |
Definition at line 103 of file MergeMcEventCollTool.h.
|
private |
Definition at line 105 of file MergeMcEventCollTool.h.
|
private |
Definition at line 111 of file MergeMcEventCollTool.h.
|
private |
Definition at line 127 of file MergeMcEventCollTool.h.
|
private |
Definition at line 113 of file MergeMcEventCollTool.h.
|
private |
Definition at line 85 of file MergeMcEventCollTool.h.
|
private |
Definition at line 86 of file MergeMcEventCollTool.h.
|
protectedinherited |
Definition at line 58 of file PileUpToolBase.h.
|
private |
Definition at line 97 of file MergeMcEventCollTool.h.