CMS 3D CMS Logo

TrackingTruthAccumulator.h
Go to the documentation of this file.
1 #ifndef TrackingAnalysis_TrackingTruthAccumulator_h
2 #define TrackingAnalysis_TrackingTruthAccumulator_h
3 
12 #include <memory> // required for std::unique_ptr
13 
14 // Forward declarations
16 class PSimHit;
17 
86 public:
90 
91 private:
92  void initializeEvent(const edm::Event &event, const edm::EventSetup &setup) override;
93  void accumulate(const edm::Event &event, const edm::EventSetup &setup) override;
94  void accumulate(const PileUpEventPrincipal &event, const edm::EventSetup &setup, edm::StreamID const &) override;
95  void finalizeEvent(edm::Event &event, const edm::EventSetup &setup) override;
96 
98  template <class T>
99  void accumulateEvent(const T &event,
100  const edm::EventSetup &setup,
101  const edm::Handle<edm::HepMCProduct> &hepMCproduct);
102 
105  template <class T>
106  void fillSimHits(std::vector<const PSimHit *> &returnValue, const T &event, const edm::EventSetup &setup);
107 
109 
111  const double volumeRadius_;
112  const double volumeZ_;
114  const double vertexDistanceCut_;
116 
121  const unsigned int maximumPreviousBunchCrossing_;
136  const bool addAncestors_;
137 
139  const bool removeDeadModules_;
142  std::vector<edm::InputTag> collectionTags_;
147 
156 
168 
169 public:
170  // These always go hand in hand, and I need to pass them around in the
171  // internal functions, so I might as well package them up in a struct.
173  std::unique_ptr<TrackingParticleCollection> pTrackingParticles;
174  std::unique_ptr<TrackingVertexCollection> pTrackingVertices;
177  };
178 
179 private:
182  std::unique_ptr<TrackingVertexCollection> pInitialVertices_;
183 };
184 
185 #endif // end of "#ifndef TrackingAnalysis_TrackingTruthAccumulator_h"
edm::RefProd< TrackingParticleCollection >
edm::StreamID
Definition: StreamID.h:30
TrackingTruthAccumulator::OutputCollections
Definition: TrackingTruthAccumulator.h:172
TrackingParticleSelector.h
TrackingTruthAccumulator
Replacement for TrackingTruthProducer in the new pileup mixing setup.
Definition: TrackingTruthAccumulator.h:85
PileUpEventPrincipal
Definition: PileUpEventPrincipal.h:19
TrackingTruthAccumulator::accumulate
void accumulate(const edm::Event &event, const edm::EventSetup &setup) override
Definition: TrackingTruthAccumulator.cc:386
TrackingParticleSelector
Definition: TrackingParticleSelector.h:16
edm::Handle< edm::HepMCProduct >
TrackingTruthAccumulator::vertexDistanceCut_
const double vertexDistanceCut_
maximum distance for HepMC::GenVertex to be added to SimVertex
Definition: TrackingTruthAccumulator.h:114
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
TrackingTruthAccumulator::chargedOnly_
bool chargedOnly_
Definition: TrackingTruthAccumulator.h:152
ProducesCollector.h
TrackingTruthAccumulator::mergedOutput_
OutputCollections mergedOutput_
Definition: TrackingTruthAccumulator.h:181
TrackingTruthAccumulator::selectorFlag_
bool selectorFlag_
Definition: TrackingTruthAccumulator.h:148
config
Definition: config.py:1
TrackingTruthAccumulator::accumulateEvent
void accumulateEvent(const T &event, const edm::EventSetup &setup, const edm::Handle< edm::HepMCProduct > &hepMCproduct)
Both forms of accumulate() delegate to this templated method.
Definition: TrackingTruthAccumulator.cc:441
TrackerTopology.h
TrackingTruthAccumulator::signalOnly_
bool signalOnly_
Definition: TrackingTruthAccumulator.h:155
TrackerTopologyRcd.h
TrackingVertexContainer.h
DigiAccumulatorMixMod.h
TrackingTruthAccumulator::OutputCollections::refTrackingParticles
TrackingParticleRefProd refTrackingParticles
Definition: TrackingTruthAccumulator.h:175
TrackingTruthAccumulator::createUnmergedCollection_
const bool createUnmergedCollection_
Definition: TrackingTruthAccumulator.h:129
TrackingTruthAccumulator::OutputCollections::pTrackingVertices
std::unique_ptr< TrackingVertexCollection > pTrackingVertices
Definition: TrackingTruthAccumulator.h:174
DigiAccumulatorMixMod
Definition: DigiAccumulatorMixMod.h:41
TrackingTruthAccumulator::TrackingTruthAccumulator
TrackingTruthAccumulator(const edm::ParameterSet &config, edm::ProducesCollector, edm::ConsumesCollector &iC)
Definition: TrackingTruthAccumulator.cc:257
TrackingTruthAccumulator::simVertexLabel_
const edm::InputTag simVertexLabel_
Definition: TrackingTruthAccumulator.h:141
edm::ParameterSet
Definition: ParameterSet.h:47
TrackingTruthAccumulator::messageCategory_
const std::string messageCategory_
Definition: TrackingTruthAccumulator.h:108
TrackingTruthAccumulator::pInitialVertices_
std::unique_ptr< TrackingVertexCollection > pInitialVertices_
Definition: TrackingTruthAccumulator.h:182
TrackingTruthAccumulator::OutputCollections::refTrackingVertexes
TrackingVertexRefProd refTrackingVertexes
Definition: TrackingTruthAccumulator.h:176
TrackingTruthAccumulator::finalizeEvent
void finalizeEvent(edm::Event &event, const edm::EventSetup &setup) override
Definition: TrackingTruthAccumulator.cc:413
FrameworkfwdMostUsed.h
TrackingTruthAccumulator::collectionTags_
std::vector< edm::InputTag > collectionTags_
Definition: TrackingTruthAccumulator.h:142
TrackingTruthAccumulator::fillSimHits
void fillSimHits(std::vector< const PSimHit * > &returnValue, const T &event, const edm::EventSetup &setup)
Fills the supplied vector with pointers to the SimHits, checking for bad modules if required.
Definition: TrackingTruthAccumulator.cc:569
TrackingTruthAccumulator::maximumPreviousBunchCrossing_
const unsigned int maximumPreviousBunchCrossing_
Definition: TrackingTruthAccumulator.h:121
TrackingTruthAccumulator::maximumSubsequentBunchCrossing_
const unsigned int maximumSubsequentBunchCrossing_
Definition: TrackingTruthAccumulator.h:126
TrackingTruthAccumulator::initializeEvent
void initializeEvent(const edm::Event &event, const edm::EventSetup &setup) override
Definition: TrackingTruthAccumulator.cc:356
TrackingTruthAccumulator::allowDifferentProcessTypeForDifferentDetectors_
bool allowDifferentProcessTypeForDifferentDetectors_
When counting hits, allows hits in different detectors to have a different process type.
Definition: TrackingTruthAccumulator.h:167
edm::EventSetup
Definition: EventSetup.h:58
TrackingTruthAccumulator::selector_
TrackingParticleSelector selector_
Definition: TrackingTruthAccumulator.h:149
TrackingTruthAccumulator::OutputCollections::pTrackingParticles
std::unique_ptr< TrackingParticleCollection > pTrackingParticles
Definition: TrackingTruthAccumulator.h:173
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TrackingTruthAccumulator::volumeRadius_
const double volumeRadius_
Definition: TrackingTruthAccumulator.h:111
TrackingTruthAccumulator::simTrackLabel_
const edm::InputTag simTrackLabel_
Definition: TrackingTruthAccumulator.h:140
TrackingTruthAccumulator::genParticleLabel_
edm::InputTag genParticleLabel_
Definition: TrackingTruthAccumulator.h:143
edm::ProducesCollector
Definition: ProducesCollector.h:43
TrackingParticleFwd.h
T
long double T
Definition: Basic3DVectorLD.h:48
TrackingTruthAccumulator::unmergedOutput_
OutputCollections unmergedOutput_
Definition: TrackingTruthAccumulator.h:180
TrackingTruthAccumulator::ignoreTracksOutsideVolume_
const bool ignoreTracksOutsideVolume_
Definition: TrackingTruthAccumulator.h:115
TrackingTruthAccumulator::volumeZ_
const double volumeZ_
Definition: TrackingTruthAccumulator.h:112
PSimHit
Definition: PSimHit.h:15
event
Definition: event.py:1
edm::Event
Definition: Event.h:73
TrackingTruthAccumulator::tTopoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
Definition: TrackingTruthAccumulator.h:146
edm::InputTag
Definition: InputTag.h:15
TrackingTruthAccumulator::createMergedCollection_
const bool createMergedCollection_
Definition: TrackingTruthAccumulator.h:130
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
TrackingTruthAccumulator::hepMCproductLabel_
edm::InputTag hepMCproductLabel_
Needed to add HepMC::GenVertex to SimVertex.
Definition: TrackingTruthAccumulator.h:145
TrackingTruthAccumulator::removeDeadModules_
const bool removeDeadModules_
As of 11/Feb/2013 this option hasn't been implemented yet.
Definition: TrackingTruthAccumulator.h:139
TrackingTruthAccumulator::addAncestors_
const bool addAncestors_
Definition: TrackingTruthAccumulator.h:136
TrackingTruthAccumulator::createInitialVertexCollection_
const bool createInitialVertexCollection_
Definition: TrackingTruthAccumulator.h:133