CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
edm::TestMix Class Reference

#include <TestMix.h>

Inheritance diagram for edm::TestMix:
edm::one::EDAnalyzer<> edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
 TestMix (const edm::ParameterSet &)
 
 ~TestMix () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

edm::EDGetTokenT< CrossingFrame< PCaloHit > > CaloToken1_
 
edm::EDGetTokenT< CrossingFrame< HepMCProduct > > HepMCToken_
 
int level_
 
edm::EDGetTokenT< CrossingFrame< SimTrack > > SimTrackToken_
 
edm::EDGetTokenT< CrossingFrame< SimVertex > > SimVertexToken_
 
std::vector< std::string > track_containers2_
 
std::vector< std::string > track_containers_
 
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken0_
 
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken1_
 
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken2_
 
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken3_
 
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken4_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 42 of file TestMix.h.

Constructor & Destructor Documentation

◆ TestMix()

TestMix::TestMix ( const edm::ParameterSet iConfig)
explicit

Definition at line 33 of file TestMix.cc.

References CaloToken1_, gather_cfg::cout, HepMCToken_, ProducerED_cfi::InputTag, level_, SimTrackToken_, SimVertexToken_, makeGlobalPositionRcd_cfg::tag, track_containers2_, track_containers_, TrackerToken0_, TrackerToken1_, TrackerToken2_, TrackerToken3_, and TrackerToken4_.

33  : level_(iConfig.getUntrackedParameter<int>("PrintLevel")) {
34  std::cout << "Constructed testMix , level " << level_ << std::endl;
35 
36  track_containers_.push_back("g4SimHitsTrackerHitsTECHighTof");
37  track_containers_.push_back("g4SimHitsTrackerHitsTECLowTof");
38 
39  track_containers2_.push_back("g4SimHitsTrackerHitsTECLowTof");
40  track_containers2_.push_back("g4SimHitsTrackerHitsTECHighTof");
41 
42  edm::InputTag tag = edm::InputTag("mix", "g4SimHits");
43 
44  SimTrackToken_ = consumes<CrossingFrame<SimTrack>>(tag);
45  SimVertexToken_ = consumes<CrossingFrame<SimVertex>>(tag);
46 
47  tag = edm::InputTag("mix", "g4SimHitsTrackerHitsTECHighTof");
48  TrackerToken0_ = consumes<CrossingFrame<PSimHit>>(tag);
49 
50  tag = edm::InputTag("mix", "g4SimHitsEcalHitsEB");
51  CaloToken1_ = consumes<CrossingFrame<PCaloHit>>(tag);
52 
53  tag = edm::InputTag("mix", track_containers_[0]);
54  TrackerToken1_ = consumes<CrossingFrame<PSimHit>>(tag);
55 
56  tag = edm::InputTag("mix", track_containers_[1]);
57  TrackerToken2_ = consumes<CrossingFrame<PSimHit>>(tag);
58 
60  TrackerToken3_ = consumes<CrossingFrame<PSimHit>>(tag);
61 
63  TrackerToken4_ = consumes<CrossingFrame<PSimHit>>(tag);
64 
65  tag = edm::InputTag("mix", "generatorSmeared");
66  HepMCToken_ = consumes<CrossingFrame<HepMCProduct>>(tag);
67 }
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken3_
Definition: TestMix.h:57
edm::EDGetTokenT< CrossingFrame< HepMCProduct > > HepMCToken_
Definition: TestMix.h:64
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken4_
Definition: TestMix.h:58
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken2_
Definition: TestMix.h:56
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > track_containers2_
Definition: TestMix.h:52
edm::EDGetTokenT< CrossingFrame< SimTrack > > SimTrackToken_
Definition: TestMix.h:62
std::vector< std::string > track_containers_
Definition: TestMix.h:51
edm::EDGetTokenT< CrossingFrame< SimVertex > > SimVertexToken_
Definition: TestMix.h:63
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken1_
Definition: TestMix.h:55
edm::EDGetTokenT< CrossingFrame< PCaloHit > > CaloToken1_
Definition: TestMix.h:60
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken0_
Definition: TestMix.h:54
int level_
Definition: TestMix.h:50

◆ ~TestMix()

TestMix::~TestMix ( )
override

Definition at line 69 of file TestMix.cc.

69  {
70  // do anything here that needs to be done at desctruction time
71  // (e.g. close files, deallocate resources etc.)
72 }

Member Function Documentation

◆ analyze()

void TestMix::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 79 of file TestMix.cc.

References MixCollection< T >::MixItr::bunch(), EncodedEventId::bunchCrossing(), CaloToken1_, cuy::col, submitPVResolutionJobs::count, gather_cfg::cout, EncodedEventId::event(), CoreSimVertex::eventId(), edm::HepMCProduct::GetEvent(), MixCollection< T >::MixItr::getSourceType(), MixCollection< T >::MixItr::getTrigger(), HepMCToken_, iEvent, cuy::ii, SimVertex::parentIndex(), edm::Handle< T >::product(), SimTrackToken_, SimVertexToken_, AlCaHLTBitMon_QueryRunRegistry::string, track_containers2_, track_containers_, TrackerToken0_, TrackerToken1_, TrackerToken2_, TrackerToken3_, and TrackerToken4_.

79  {
80  using namespace edm;
81  bool got;
82  int count = 0;
83 
84  // test accesses to CrossingFrame
85  // attention: operator-> returns the templated object, but
86  // bunch() and getTrigger() are methods of the iterator itself!
87 
88  // test access to SimTracks directly in CrossingFrame
89 
91  bool gotTracks = iEvent.getByToken(SimTrackToken_, cf_simtrack);
92  if (!gotTracks)
93  std::cout << " Could not read SimTracks!!!!" << std::endl;
94 
95  // not pointer compatible!!!!
96  // if (gotTracks) {
97  // std::vector<SimTrack>::const_iterator first;
98  // std::vector<SimTrack>::const_iterator last;
99  // cf_simtrack->getPileups(first,last);
100  // unsigned int ic=0;
101  // for (std::vector<SimTrack>::const_iterator it=first;it!=last;it++) {
102  // std::cout<<" pileup SimTrack "<<ic<<" has genpart index "<<(*it).genpartIndex()<<" vertex Index "<<(*it).vertIndex() <<" bunchcrossing "<<cf_simtrack->getBunchCrossing(ic)<<std::endl;
103  // ic++;
104  // }
105  // }
106 
107  const std::string subdet("g4SimHitsTrackerHitsTECHighTof");
109  got = iEvent.getByToken(TrackerToken0_, cf_simhit);
110  if (!got)
111  std::cout << " Could not read SimHits with label " << subdet << "!!!!" << std::endl;
112  else {
113  std::cout << "\n\n=================== Starting SimHit access, subdet " << subdet
114  << " ===================" << std::endl;
115 
116  std::unique_ptr<MixCollection<PSimHit>> col(
117  new MixCollection<PSimHit>(cf_simhit.product(), std::pair<int, int>(-1, 1)));
118  std::cout << *(col.get()) << std::endl;
120  for (cfi = col->begin(); cfi != col->end(); cfi++) {
121  std::cout << " Hit " << count << " has tof " << cfi->timeOfFlight() << " trackid " << cfi->trackId()
122  << " bunchcr " << cfi.bunch() << " trigger " << cfi.getTrigger()
123  << ", from EncodedEventId: " << cfi->eventId().bunchCrossing() << " " << cfi->eventId().event()
124  << " bcr from MixCol " << cfi.bunch() << std::endl;
125  // std::cout<<" Hit: "<<(*cfi)<<std::endl;
126  count++;
127  }
128  }
129 
130  // test access to CaloHits
131  const std::string subdetcalo("g4SimHitsEcalHitsEB");
133  got = iEvent.getByToken(CaloToken1_, cf_calo);
134  if (!got)
135  std::cout << " Could not read CaloHits with label " << subdetcalo << "!!!!" << std::endl;
136  else {
137  std::cout << "\n\n=================== Starting CaloHit access, subdet " << subdetcalo
138  << " ===================" << std::endl;
139  std::unique_ptr<MixCollection<PCaloHit>> colcalo(
140  new MixCollection<PCaloHit>(cf_calo.product(), std::pair<int, int>(-1, 1)));
141  std::cout << *(colcalo.get()) << std::endl;
143  count = 0;
144  for (cficalo = colcalo->begin(); cficalo != colcalo->end(); cficalo++) {
145  std::cout << " CaloHit " << count << " has tof " << cficalo->time() << " trackid " << cficalo->geantTrackId()
146  << " bunchcr " << cficalo.bunch() << " trigger " << cficalo.getTrigger()
147  << ", from EncodedEventId: " << cficalo->eventId().bunchCrossing() << " " << cficalo->eventId().event()
148  << std::endl;
149  // std::cout<<" Calo Hit: "<<(*cficalo)<<std::endl;
150  count++;
151  }
152  }
153 
154  // test access to SimTracks
155  if (gotTracks) {
156  std::cout << "\n=================== Starting SimTrack access ===================" << std::endl;
157  // edm::Handle<CrossingFrame<SimTrack> > cf_simtrack;
158  // iEvent.getByLabel("mix",cf_simtrack);
159  std::unique_ptr<MixCollection<SimTrack>> col2(new MixCollection<SimTrack>(cf_simtrack.product()));
161  int count2 = 0;
162  std::cout << " \nWe got " << col2->sizeSignal() << " signal tracks and " << col2->sizePileup()
163  << " pileup tracks, total: " << col2->size() << std::endl;
164  for (cfi2 = col2->begin(); cfi2 != col2->end(); cfi2++) {
165  std::cout << " SimTrack " << count2 << " has genpart index " << cfi2->genpartIndex() << " vertex Index "
166  << cfi2->vertIndex() << " bunchcr " << cfi2.bunch() << " trigger " << cfi2.getTrigger()
167  << ", from EncodedEventId: " << cfi2->eventId().bunchCrossing() << " " << cfi2->eventId().event()
168  << std::endl;
169  count2++;
170  }
171  }
172 
173  // test access to SimVertices
175  got = iEvent.getByToken(SimVertexToken_, cf_simvtx);
176  if (!got)
177  std::cout << " Could not read Simvertices !!!!" << std::endl;
178  else {
179  std::cout << "\n=================== Starting SimVertex access ===================" << std::endl;
180  std::unique_ptr<MixCollection<SimVertex>> col3(new MixCollection<SimVertex>(cf_simvtx.product()));
182  int count3 = 0;
183  std::cout << " \nWe got " << col3->sizeSignal() << " signal vertices and " << col3->sizePileup()
184  << " pileup vertices, total: " << col3->size() << std::endl;
185  for (cfi3 = col3->begin(); cfi3 != col3->end(); cfi3++) {
186  std::cout << " SimVertex " << count3 << " has parent index " << cfi3->parentIndex() << " bunchcr "
187  << cfi3.bunch() << " trigger " << cfi3.getTrigger()
188  << ", from EncodedEventId: " << cfi3->eventId().bunchCrossing() << " " << cfi3->eventId().event()
189  << std::endl;
190  const SimVertex& myvtx = (*cfi3);
191  std::cout << "Same with op*: " << count3 << " has parent index " << myvtx.parentIndex() << " bunchcr "
192  << cfi3.bunch() << " trigger " << cfi3.getTrigger()
193  << ", from EncodedEventId: " << myvtx.eventId().bunchCrossing() << " " << myvtx.eventId().event()
194  << std::endl;
195  count3++;
196  }
197  }
198 
199  //test MixCollection constructor with several subdetector names
200  bool got1, got2 = false;
201  std::unique_ptr<MixCollection<PSimHit>> all_trackhits;
202  std::unique_ptr<MixCollection<PSimHit>> all_trackhits2;
203  std::cout << "\n=================== Starting test for coll of several ROU-s ===================" << std::endl;
204  // edm::Handle<CrossingFrame<PSimHit> > cf_simhit;
205  std::vector<const CrossingFrame<PSimHit>*> cfvec;
206  got1 = iEvent.getByToken(TrackerToken1_, cf_simhit);
207  if (!got1)
208  std::cout << " Could not read SimHits with label " << track_containers_[0] << "!!!!" << std::endl;
209  else {
210  std::cout << "\n=================== Starting test for coll of several ROU-s ===================" << std::endl;
211  cfvec.push_back(cf_simhit.product());
212  std::cout << " \nFirst container " << track_containers_[0] << " Nr signals " << cf_simhit->getNrSignals()
213  << ", Nr pileups " << cf_simhit->getNrPileups() << std::endl;
214  got2 = iEvent.getByToken(TrackerToken2_, cf_simhit);
215  if (got2) {
216  cfvec.push_back(cf_simhit.product());
217  std::cout << " \nSecond container " << track_containers_[1] << " Nr signals " << cf_simhit->getNrSignals()
218  << ", Nr pileups " << cf_simhit->getNrPileups() << std::endl;
219  all_trackhits = std::make_unique<MixCollection<PSimHit>>(cfvec);
220 
221  std::cout << " \nFor all containers we got " << all_trackhits->sizeSignal() << " signal hits and "
222  << all_trackhits->sizePileup() << " pileup hits, total: " << all_trackhits->size() << std::endl;
223 
225  int ii = 0;
226  for (it = all_trackhits->begin(); it != all_trackhits->end(); it++) {
227  std::cout << " Hit " << ii << " of all hits has tof " << it->timeOfFlight() << " trackid " << it->trackId()
228  << " bunchcr " << it.bunch() << " trigger " << it.getTrigger()
229  << ", from EncodedEventId: " << it->eventId().bunchCrossing() << " " << it->eventId().event()
230  << std::endl;
231  ii++;
232  }
233  }
234  }
235 
236  //test the same in different order: should be the same sizes, different order
238  int ii2 = 0;
239  std::vector<const CrossingFrame<PSimHit>*> cfvec2;
240  got = iEvent.getByToken(TrackerToken3_, cf_simhit);
241  if (!got)
242  std::cout << " Could not read SimHits with label " << track_containers2_[0] << "!!!!" << std::endl;
243  else {
244  cfvec2.push_back(cf_simhit.product());
245  got2 = iEvent.getByToken(TrackerToken4_, cf_simhit);
246  if (got2) {
247  cfvec2.push_back(cf_simhit.product());
248  all_trackhits2 = std::make_unique<MixCollection<PSimHit>>(cfvec2);
249  std::cout << " \nSame containers, different order: we got " << all_trackhits2->sizeSignal() << " signal hits and "
250  << all_trackhits2->sizePileup() << " pileup hits, total: " << all_trackhits2->size() << std::endl;
251  for (it2 = all_trackhits2->begin(); it2 != all_trackhits2->end(); it2++) {
252  std::cout << " Hit " << ii2 << " of all hits has tof " << it2->timeOfFlight() << " trackid " << it2->trackId()
253  << " bunchcr " << it2.bunch() << " trigger " << it2.getTrigger()
254  << ", bcr from Id: " << it2->eventId().bunchCrossing() << " evtnr in id " << it2->eventId().event()
255  << std::endl;
256  ii2++;
257  }
258  }
259  }
260 
261  //test MixCollection for HepMCProducts
262  //at the same time test getObject method
263  //we should have each line twice
264  //------------------------------------
266  got = iEvent.getByToken(HepMCToken_, cf_hepmc);
267  if (!got)
268  std::cout << " Could not read HepMCProducts!!!!" << std::endl;
269  else {
270  std::unique_ptr<MixCollection<edm::HepMCProduct>> colhepmc(
271  new MixCollection<edm::HepMCProduct>(cf_hepmc.product()));
273  int counthepmc = 0;
274  std::cout << " \nWe got " << colhepmc->sizeSignal() << " signal hepmc products and " << colhepmc->sizePileup()
275  << " pileup hepmcs, total: " << colhepmc->size() << std::endl;
276  for (cfihepmc = colhepmc->begin(); cfihepmc != colhepmc->end(); cfihepmc++) {
277  std::cout << " edm::HepMCProduct " << counthepmc << " has event number " << cfihepmc->GetEvent()->event_number()
278  << ", " << cfihepmc->GetEvent()->particles_size() << " particles and "
279  << cfihepmc->GetEvent()->vertices_size() << " vertices, bunchcr= " << cfihepmc.bunch()
280  << " trigger= " << cfihepmc.getTrigger() << " sourcetype= " << cfihepmc.getSourceType() << std::endl;
281  HepMCProduct myprod = colhepmc->getObject(counthepmc);
282  std::cout << "same with getObject:hepmc product " << counthepmc << " has event number "
283  << myprod.GetEvent()->event_number() << ", " << myprod.GetEvent()->particles_size() << " particles and "
284  << myprod.GetEvent()->vertices_size() << " vertices" << std::endl;
285  counthepmc++;
286  }
287  }
288  //----------------------------------------------------------------------------
289  // testing special situations
290  //----------------------------------------------------------------------------
291 
292  if (got2) {
293  // test reusage of the same iterator
294  int ii3 = 0;
295  for (it2 = all_trackhits2->begin(); it2 != all_trackhits2->end(); it2++)
296  ii3++;
297  if (ii3 != ii2)
298  std::cout << " Problem when re-using iterator!!" << std::endl;
299  else
300  std::cout << " \nNo problem when re-using iterator." << std::endl;
301  }
302  // test access to non-filled collections
303  //cases: 0) ok, collection has members
304  // 1) bunchrange given outside of existent bunchcrossing numbers ==>exc
305 
306  std::cout << "\n=================== Starting tests for abnormal conditions ===================" << std::endl;
307 
308  // test case 0
309  if (got1) {
310  std::cout << "\n[ Testing abnormal conditions case 0]Should be all ok: registry: " << all_trackhits->inRegistry()
311  << " size: " << all_trackhits->size() << std::endl;
312 
313  // test case 1
314  std::cout << "\n[ Testing abnormal conditions case 1] Should throw an exception " << std::endl;
315  MixCollection<PSimHit>* col21 = nullptr;
316  col21 = new MixCollection<PSimHit>(cf_simhit.product(), std::pair<int, int>(-10, 20));
317  delete col21;
318  }
319 }
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken3_
Definition: TestMix.h:57
edm::EDGetTokenT< CrossingFrame< HepMCProduct > > HepMCToken_
Definition: TestMix.h:64
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken4_
Definition: TestMix.h:58
int event() const
get the contents of the subdetector field (should be protected?)
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken2_
Definition: TestMix.h:56
int getSourceType() const
Definition: MixCollection.h:99
T const * product() const
Definition: Handle.h:70
int iEvent
Definition: GenABIO.cc:224
std::vector< std::string > track_containers2_
Definition: TestMix.h:52
int bunchCrossing() const
get the detector field from this detid
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:37
ii
Definition: cuy.py:589
edm::EDGetTokenT< CrossingFrame< SimTrack > > SimTrackToken_
Definition: TestMix.h:62
bool getTrigger() const
Definition: MixCollection.h:97
std::vector< std::string > track_containers_
Definition: TestMix.h:51
edm::EDGetTokenT< CrossingFrame< SimVertex > > SimVertexToken_
Definition: TestMix.h:63
HLT enums.
col
Definition: cuy.py:1009
EncodedEventId eventId() const
Definition: CoreSimVertex.h:25
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken1_
Definition: TestMix.h:55
edm::EDGetTokenT< CrossingFrame< PCaloHit > > CaloToken1_
Definition: TestMix.h:60
int parentIndex() const
Definition: SimVertex.h:29
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken0_
Definition: TestMix.h:54

Member Data Documentation

◆ CaloToken1_

edm::EDGetTokenT<CrossingFrame<PCaloHit> > edm::TestMix::CaloToken1_
private

Definition at line 60 of file TestMix.h.

Referenced by analyze(), and TestMix().

◆ HepMCToken_

edm::EDGetTokenT<CrossingFrame<HepMCProduct> > edm::TestMix::HepMCToken_
private

Definition at line 64 of file TestMix.h.

Referenced by analyze(), and TestMix().

◆ level_

int edm::TestMix::level_
private

Definition at line 50 of file TestMix.h.

Referenced by TestMix().

◆ SimTrackToken_

edm::EDGetTokenT<CrossingFrame<SimTrack> > edm::TestMix::SimTrackToken_
private

Definition at line 62 of file TestMix.h.

Referenced by analyze(), and TestMix().

◆ SimVertexToken_

edm::EDGetTokenT<CrossingFrame<SimVertex> > edm::TestMix::SimVertexToken_
private

Definition at line 63 of file TestMix.h.

Referenced by analyze(), and TestMix().

◆ track_containers2_

std::vector<std::string> edm::TestMix::track_containers2_
private

Definition at line 52 of file TestMix.h.

Referenced by analyze(), and TestMix().

◆ track_containers_

std::vector<std::string> edm::TestMix::track_containers_
private

Definition at line 51 of file TestMix.h.

Referenced by analyze(), and TestMix().

◆ TrackerToken0_

edm::EDGetTokenT<CrossingFrame<PSimHit> > edm::TestMix::TrackerToken0_
private

Definition at line 54 of file TestMix.h.

Referenced by analyze(), and TestMix().

◆ TrackerToken1_

edm::EDGetTokenT<CrossingFrame<PSimHit> > edm::TestMix::TrackerToken1_
private

Definition at line 55 of file TestMix.h.

Referenced by analyze(), and TestMix().

◆ TrackerToken2_

edm::EDGetTokenT<CrossingFrame<PSimHit> > edm::TestMix::TrackerToken2_
private

Definition at line 56 of file TestMix.h.

Referenced by analyze(), and TestMix().

◆ TrackerToken3_

edm::EDGetTokenT<CrossingFrame<PSimHit> > edm::TestMix::TrackerToken3_
private

Definition at line 57 of file TestMix.h.

Referenced by analyze(), and TestMix().

◆ TrackerToken4_

edm::EDGetTokenT<CrossingFrame<PSimHit> > edm::TestMix::TrackerToken4_
private

Definition at line 58 of file TestMix.h.

Referenced by analyze(), and TestMix().