CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
edm::TestMixedSource Class Reference

#include <TestMixedSource.h>

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

Public Member Functions

 TestMixedSource (const edm::ParameterSet &)
 
 ~TestMixedSource () 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 Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void endJob () override
 

Private Attributes

int bunchcr_
 
edm::EDGetTokenT
< CrossingFrame< PCaloHit > > 
CaloToken1_
 
std::string fileName_
 
edm::EDGetTokenT
< CrossingFrame
< edm::HepMCProduct > > 
HepMCToken_
 
TFile * histFile_
 
TH1I * histHepMCProduct_bunch_
 
TH1I * histPCaloHit_bunch_
 
TH1I * histPSimHit_bunchPileups_MuonCSCHits_
 
TH1I * histPSimHit_bunchPileups_TrackerHitsTECHighTof_
 
TH1I * histPSimHit_bunchSignal_MuonCSCHits_
 
TH1I * histPSimHit_bunchSignal_TrackerHitsTECHighTof_
 
TH1I * histTrack_bunchPileups_
 
TH1I * histTrack_bunchSignal_
 
TH1I * histVertex_bunch_
 
int maxbunch_
 
int minbunch_
 
edm::EDGetTokenT
< CrossingFrame< PSimHit > > 
MuonToken_
 
std::ofstream outputFile
 
edm::EDGetTokenT
< CrossingFrame< SimTrack > > 
SimTrackToken_
 
edm::EDGetTokenT
< CrossingFrame< SimVertex > > 
SimVertexToken_
 
TH1I * tofhist_
 
TH1I * tofhist_sig_
 
edm::EDGetTokenT
< CrossingFrame< PSimHit > > 
TrackerToken0_
 

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< B > consumes (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 () noexcept
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
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 51 of file TestMixedSource.h.

Constructor & Destructor Documentation

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

Definition at line 52 of file TestMixedSource.cc.

References CaloToken1_, HepMCToken_, histHepMCProduct_bunch_, histPCaloHit_bunch_, histPSimHit_bunchPileups_MuonCSCHits_, histPSimHit_bunchPileups_TrackerHitsTECHighTof_, histPSimHit_bunchSignal_MuonCSCHits_, histPSimHit_bunchSignal_TrackerHitsTECHighTof_, histTrack_bunchPileups_, histTrack_bunchSignal_, histVertex_bunch_, HLT_FULL_cff::InputTag, maxbunch_, minbunch_, MuonToken_, SimTrackToken_, SimVertexToken_, GlobalPosition_Frontier_DevDB_cff::tag, tofhist_, tofhist_sig_, and TrackerToken0_.

53  : fileName_(iConfig.getParameter<std::string>("fileName")),
54  minbunch_(iConfig.getParameter<int>("minBunch")),
55  maxbunch_(iConfig.getParameter<int>("maxBunch")) {
57  new TH1I("histoTrackSignal", "Bunchcrossings", maxbunch_ - minbunch_ + 1, minbunch_, maxbunch_ + 1);
59  new TH1I("histoTrackPileups", "Bunchcrossings", maxbunch_ - minbunch_ + 1, minbunch_, maxbunch_ + 1);
60 
61  // Vertex
62  histVertex_bunch_ = new TH1I("histoVertex", "Bunchcrossings", maxbunch_ - minbunch_ + 1, minbunch_, maxbunch_ + 1);
63 
64  // PCaloHit
66  new TH1I("histoPCaloHit", "Bunchcrossings", maxbunch_ - minbunch_ + 1, minbunch_, maxbunch_ + 1);
67 
68  // PSimHit
69  histPSimHit_bunchSignal_TrackerHitsTECHighTof_ = new TH1I("histoPSimHitTrackerHitsTECHighTofSignal",
70  "Bunchcrossings",
71  maxbunch_ - minbunch_ + 1,
72  minbunch_,
73  maxbunch_ + 1);
74  histPSimHit_bunchPileups_TrackerHitsTECHighTof_ = new TH1I("histoPSimHitTrackerHitsTECHighTofPileups",
75  "Bunchcrossings",
76  maxbunch_ - minbunch_ + 1,
77  minbunch_,
78  maxbunch_ + 1);
80  "histoPSimHitMuonCSCHitsSignal", "Bunchcrossings", maxbunch_ - minbunch_ + 1, minbunch_, maxbunch_ + 1);
82  "histoPSimHitMuonCSCHitsPileups", "Bunchcrossings", maxbunch_ - minbunch_ + 1, minbunch_, maxbunch_ + 1);
83 
84  int bsp = 25; //bunchspace
85  tofhist_ =
86  new TH1I("TrackerHit_Tof_bcr", "TrackerHit_ToF", 100, float(bsp * minbunch_), float(bsp * maxbunch_) + 50.);
87  tofhist_sig_ = new TH1I(
88  "SignalTrackerHit_Tof_bcr", "TrackerHit_ToF", 100, float(bsp * minbunch_), float(bsp * maxbunch_) + 50.);
89 
90  // HepMCProduct
92  new TH1I("histoHepMCProduct", "Bunchcrossings", maxbunch_ - minbunch_ + 1, minbunch_, maxbunch_ + 1);
93 
94  // Tokens
95 
96  edm::InputTag tag = edm::InputTag("mix", "g4SimHits");
97 
98  SimTrackToken_ = consumes<CrossingFrame<SimTrack>>(tag);
99  SimVertexToken_ = consumes<CrossingFrame<SimVertex>>(tag);
100 
101  tag = edm::InputTag("mix", "g4SimHitsTrackerHitsTECHighTof");
102  TrackerToken0_ = consumes<CrossingFrame<PSimHit>>(tag);
103 
104  tag = edm::InputTag("mix", "g4SimHitsEcalHitsEB");
105  CaloToken1_ = consumes<CrossingFrame<PCaloHit>>(tag);
106 
107  tag = edm::InputTag("mix", "g4SimHitsMuonCSCHits");
108  MuonToken_ = consumes<CrossingFrame<PSimHit>>(tag);
109 
110  tag = edm::InputTag("mix", "generatorSmeared");
111  HepMCToken_ = consumes<CrossingFrame<edm::HepMCProduct>>(tag);
112  }
TH1I * histPSimHit_bunchPileups_TrackerHitsTECHighTof_
TH1I * histPSimHit_bunchSignal_MuonCSCHits_
TH1I * histPSimHit_bunchPileups_MuonCSCHits_
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken0_
edm::EDGetTokenT< CrossingFrame< SimTrack > > SimTrackToken_
TH1I * histPSimHit_bunchSignal_TrackerHitsTECHighTof_
edm::EDGetTokenT< CrossingFrame< PSimHit > > MuonToken_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > CaloToken1_
edm::EDGetTokenT< CrossingFrame< SimVertex > > SimVertexToken_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< CrossingFrame< edm::HepMCProduct > > HepMCToken_
TestMixedSource::~TestMixedSource ( )
override

Definition at line 114 of file TestMixedSource.cc.

References gather_cfg::cout.

114 { std::cout << " Destructor TestMixed" << std::endl; }
tuple cout
Definition: gather_cfg.py:144

Member Function Documentation

void TestMixedSource::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 121 of file TestMixedSource.cc.

References a, b, MixCollection< T >::MixItr::bunch(), c, CaloToken1_, cuy::col, gather_cfg::cout, ztail::d, alignCSCRings::e, edm::Event::getByToken(), MixCollection< T >::MixItr::getTrigger(), HepMCToken_, histHepMCProduct_bunch_, histPCaloHit_bunch_, histPSimHit_bunchPileups_MuonCSCHits_, histPSimHit_bunchPileups_TrackerHitsTECHighTof_, histPSimHit_bunchSignal_MuonCSCHits_, histPSimHit_bunchSignal_TrackerHitsTECHighTof_, histTrack_bunchPileups_, histTrack_bunchSignal_, histVertex_bunch_, MuonToken_, outputFile, edm::Handle< T >::product(), SimTrackToken_, SimVertexToken_, AlCaHLTBitMon_QueryRunRegistry::string, tofhist_, tofhist_sig_, and TrackerToken0_.

121  {
122  // test SimTracks
123  //----------------------
125  bool gotTracks = iEvent.getByToken(SimTrackToken_, cf_simtrack);
126  if (!gotTracks)
127  outputFile << " Could not read SimTracks!!!!"
128  << " Please, check if the object SimTracks has been declared in the"
129  << " MixingModule configuration file." << std::endl;
130 
131  if (gotTracks) {
132  outputFile << "\n=================== Starting SimTrack access ===================" << std::endl;
133 
134  std::unique_ptr<MixCollection<SimTrack>> col1(new MixCollection<SimTrack>(cf_simtrack.product()));
136  int count1 = 0;
137  std::cout << " \nWe got " << col1->sizeSignal() << " signal tracks and " << col1->sizePileup()
138  << " pileup tracks, total: " << col1->size() << std::endl;
139  for (cfi1 = col1->begin(); cfi1 != col1->end(); cfi1++) {
140  //std::cout << " BUNCH cfi1.bunch() = " << cfi1.bunch() << std::endl;
141  if (cfi1.getTrigger() == 0) {
142  histTrack_bunchPileups_->Fill(cfi1.bunch());
143  }
144 
145  if (cfi1.getTrigger() == 1) {
146  histTrack_bunchSignal_->Fill(cfi1.bunch());
147  }
148 
149  int a = count1 % 4;
150  if (a == 3) {
151  outputFile << " SimTrack " << count1 << " has genpart index " << cfi1->genpartIndex() << " vertex Index "
152  << cfi1->vertIndex() << " bunchcr " << cfi1.bunch() << " trigger " << cfi1.getTrigger()
153  << ", from EncodedEventId: " << cfi1->eventId().bunchCrossing() << " " << cfi1->eventId().event()
154  << std::endl;
155  }
156  count1++;
157  }
158  }
159 
160  // test SimVertices
161  //---------------------
163  bool gotSimVertex = iEvent.getByToken(SimVertexToken_, cf_simvtx);
164  if (!gotSimVertex)
165  outputFile << " Could not read Simvertices !!!!" << std::endl;
166  else {
167  outputFile << "\n=================== Starting SimVertex access ===================" << std::endl;
168  std::unique_ptr<MixCollection<SimVertex>> col2(new MixCollection<SimVertex>(cf_simvtx.product()));
170  int count2 = 0;
171  outputFile << " \nWe got " << col2->sizeSignal() << " signal vertices and " << col2->sizePileup()
172  << " pileup vertices, total: " << col2->size() << std::endl;
173  for (cfi2 = col2->begin(); cfi2 != col2->end(); cfi2++) {
174  histVertex_bunch_->Fill(cfi2.bunch());
175  int b = count2 % 4;
176  if (count2 == 0 || b == 3) {
177  //outputFile<<" SimVertex "<<count2<<" has parent index "<<cfi2->parentIndex()<<" bunchcr "<<cfi2.bunch()<<" trigger "<<cfi2.getTrigger()<<", from EncodedEventId: "<<cfi2->eventId().bunchCrossing() <<" "<<cfi2->eventId().event() <<std::endl;
178  }
179  //SimVertex myvtx=(*cfi2);
180  //outputFile<<"Same with op*: "<<count2<<" has parent index "<<myvtx.parentIndex()<<" bunchcr "<<cfi2.bunch()<<" trigger "<<cfi2.getTrigger()<<", from EncodedEventId: "<<myvtx.eventId().bunchCrossing() <<" "<<myvtx.eventId().event() <<std::endl;
181  count2++;
182  }
183  }
184 
185  //test HepMCProducts
186  //------------------------------------
188  bool gotHepMCP = iEvent.getByToken(HepMCToken_, cf_hepmc);
189  if (!gotHepMCP)
190  std::cout << " Could not read HepMCProducts!!!!" << std::endl;
191  else {
192  outputFile << "\n=================== Starting HepMCProduct access ===================" << std::endl;
193  std::unique_ptr<MixCollection<edm::HepMCProduct>> colhepmc(
194  new MixCollection<edm::HepMCProduct>(cf_hepmc.product()));
196 
197  int count3 = 0;
198  outputFile << " \nWe got " << colhepmc->sizeSignal() << " signal hepmc products and " << colhepmc->sizePileup()
199  << " pileup hepmcs, total: " << colhepmc->size() << std::endl;
200  for (cfihepmc = colhepmc->begin(); cfihepmc != colhepmc->end(); cfihepmc++) {
201  histHepMCProduct_bunch_->Fill(cfihepmc.bunch());
202  int c = count3 % 4;
203  if (count3 == 0 || c == 3) {
204  //outputFile<<" edm::HepMCProduct "<<count3<<" has event number "<<cfihepmc->GetEvent()->event_number()<<", "<< cfihepmc->GetEvent()->particles_size()<<" particles and "<<cfihepmc->GetEvent()->vertices_size()<<" vertices, bunchcr= "<<cfihepmc.bunch()<<" trigger= "<<cfihepmc.getTrigger() <<" sourcetype= "<<cfihepmc.getSourceType()<<std::endl;
205  }
206  HepMCProduct myprod = colhepmc->getObject(count3);
207  //outputFile<<"same with getObject:hepmc product "<<count3<<" has event number "<<myprod.GetEvent()->event_number()<<", "<<myprod.GetEvent()->particles_size()<<" particles and "<<myprod.GetEvent()->vertices_size()<<" vertices"<<std::endl;
208  count3++;
209  }
210  }
211 
212  // test CaloHits
213  //--------------------------
214  const std::string subdetcalo("g4SimHitsEcalHitsEB");
216  bool gotPCaloHit = iEvent.getByToken(CaloToken1_, cf_calo);
217  if (!gotPCaloHit)
218  outputFile << " Could not read CaloHits with label " << subdetcalo << "!!!!" << std::endl;
219  else {
220  outputFile << "\n\n=================== Starting CaloHit access, subdet " << subdetcalo
221  << " ===================" << std::endl;
222  std::unique_ptr<MixCollection<PCaloHit>> colcalo(new MixCollection<PCaloHit>(cf_calo.product()));
223  //outputFile<<*(colcalo.get())<<std::endl;
225  int count4 = 0;
226  for (cficalo = colcalo->begin(); cficalo != colcalo->end(); cficalo++) {
227  histPCaloHit_bunch_->Fill(cficalo.bunch());
228  int d = count4 % 4;
229  if (count4 == 0 || d == 3) {
230  //outputFile<<" CaloHit "<<count4<<" has tof "<<cficalo->time()<<" trackid "<<cficalo->geantTrackId() <<" bunchcr "<<cficalo.bunch()<<" trigger "<<cficalo.getTrigger()<<", from EncodedEventId: "<<cficalo->eventId().bunchCrossing()<<" " <<cficalo->eventId().event() <<std::endl;
231  }
232  count4++;
233  }
234  }
235 
236  // test PSimHit for one particular subdet
237  //---------------------------------------
238 
239  const std::string subdet("g4SimHitsTrackerHitsTECHighTof");
241  bool gotPSimHit = iEvent.getByToken(TrackerToken0_, cf_simhit);
242  if (!gotPSimHit)
243  outputFile << " Could not read SimHits with label " << subdet << "!!!!" << std::endl;
244  else {
245  outputFile << "\n\n=================== Starting SimHit access, subdet " << subdet
246  << " ===================" << std::endl;
247 
248  std::unique_ptr<MixCollection<PSimHit>> col(new MixCollection<PSimHit>(cf_simhit.product()));
249  //outputFile<<*(col.get())<<std::endl;
251  int count5 = 0;
252  for (cfi = col->begin(); cfi != col->end(); cfi++) {
253  // Signal
254  if (cfi.getTrigger() == 1) {
256  tofhist_sig_->Fill(cfi->timeOfFlight());
257  }
258 
259  // Pileups
260  if (cfi.getTrigger() == 0) {
262  std::cout << " cfi->timeOfFlight() = " << cfi->timeOfFlight() << std::endl;
263  tofhist_->Fill(cfi->timeOfFlight());
264  }
265 
266  int e = count5 % 4;
267  if (e == 3) {
268  outputFile << " Hit " << count5 << " has tof " << cfi->timeOfFlight() << " trackid " << cfi->trackId()
269  << " bunchcr " << cfi.bunch() << " trigger " << cfi.getTrigger()
270  << ", from EncodedEventId: " << cfi->eventId().bunchCrossing() << " " << cfi->eventId().event()
271  << " bcr from MixCol " << cfi.bunch() << std::endl;
272  }
273  count5++;
274  }
275  }
276 
277  const std::string subdet1("g4SimHitsMuonCSCHits");
279  bool gotPSimHit1 = iEvent.getByToken(MuonToken_, cf_simhit1);
280  if (!gotPSimHit1)
281  outputFile << " Could not read SimHits with label " << subdet1 << "!!!!" << std::endl;
282  else {
283  outputFile << "\n\n=================== Starting SimHit access, subdet " << subdet1
284  << " ===================" << std::endl;
285 
286  std::unique_ptr<MixCollection<PSimHit>> col(new MixCollection<PSimHit>(cf_simhit1.product()));
287  //outputFile<<*(col.get())<<std::endl;
289  int count5 = 0;
290  for (cfi = col->begin(); cfi != col->end(); cfi++) {
291  if (cfi.getTrigger() == 1)
293 
294  if (cfi.getTrigger() == 0)
296 
297  int e = count5 % 4;
298  if (e == 3) {
299  outputFile << " Hit " << count5 << " has tof " << cfi->timeOfFlight() << " trackid " << cfi->trackId()
300  << " bunchcr " << cfi.bunch() << " trigger " << cfi.getTrigger()
301  << ", from EncodedEventId: " << cfi->eventId().bunchCrossing() << " " << cfi->eventId().event()
302  << " bcr from MixCol " << cfi.bunch() << std::endl;
303  }
304  count5++;
305  }
306  }
307  }
TH1I * histPSimHit_bunchPileups_TrackerHitsTECHighTof_
TH1I * histPSimHit_bunchSignal_MuonCSCHits_
TH1I * histPSimHit_bunchPileups_MuonCSCHits_
edm::EDGetTokenT< CrossingFrame< PSimHit > > TrackerToken0_
const edm::EventSetup & c
edm::EDGetTokenT< CrossingFrame< SimTrack > > SimTrackToken_
TH1I * histPSimHit_bunchSignal_TrackerHitsTECHighTof_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
edm::EDGetTokenT< CrossingFrame< PSimHit > > MuonToken_
bool getTrigger() const
Definition: MixCollection.h:97
tuple d
Definition: ztail.py:151
edm::EDGetTokenT< CrossingFrame< PCaloHit > > CaloToken1_
edm::EDGetTokenT< CrossingFrame< SimVertex > > SimVertexToken_
T const * product() const
Definition: Handle.h:70
double b
Definition: hdecay.h:118
std::ofstream outputFile
double a
Definition: hdecay.h:119
edm::EDGetTokenT< CrossingFrame< edm::HepMCProduct > > HepMCToken_
tuple cout
Definition: gather_cfg.py:144
int col
Definition: cuy.py:1009
void TestMixedSource::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 310 of file TestMixedSource.cc.

References gather_cfg::cout, and outputFile.

310  {
311  outputFile.open("test.log");
312  if (!outputFile.is_open()) {
313  std::cout << "Unable to open file!" << std::endl;
314  }
315  }
std::ofstream outputFile
tuple cout
Definition: gather_cfg.py:144
void TestMixedSource::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 318 of file TestMixedSource.cc.

References gather_cfg::cout, fileName_, histFile_, histHepMCProduct_bunch_, histPCaloHit_bunch_, histPSimHit_bunchPileups_MuonCSCHits_, histPSimHit_bunchPileups_TrackerHitsTECHighTof_, histPSimHit_bunchSignal_MuonCSCHits_, histPSimHit_bunchSignal_TrackerHitsTECHighTof_, histTrack_bunchPileups_, histTrack_bunchSignal_, histVertex_bunch_, outputFile, submitPVValidationJobs::t, tofhist_, and tofhist_sig_.

318  {
319  outputFile.close();
320 
321  char t[30];
322  sprintf(t, "%s", fileName_.c_str());
323  std::cout << " fileName = " << t << std::endl;
324  histFile_ = new TFile(t, "RECREATE");
325  histTrack_bunchPileups_->Write();
326  histTrack_bunchSignal_->Write();
327  histVertex_bunch_->Write();
328  histPCaloHit_bunch_->Write();
331  tofhist_sig_->Write();
332  tofhist_->Write();
335  histHepMCProduct_bunch_->Write();
336  histFile_->Write();
337  histFile_->Close();
338  }
TH1I * histPSimHit_bunchPileups_TrackerHitsTECHighTof_
TH1I * histPSimHit_bunchSignal_MuonCSCHits_
TH1I * histPSimHit_bunchPileups_MuonCSCHits_
TH1I * histPSimHit_bunchSignal_TrackerHitsTECHighTof_
std::ofstream outputFile
tuple cout
Definition: gather_cfg.py:144

Member Data Documentation

int edm::TestMixedSource::bunchcr_
private

Definition at line 64 of file TestMixedSource.h.

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

Definition at line 83 of file TestMixedSource.h.

Referenced by analyze(), and TestMixedSource().

std::string edm::TestMixedSource::fileName_
private

Definition at line 63 of file TestMixedSource.h.

Referenced by endJob().

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

Definition at line 87 of file TestMixedSource.h.

Referenced by analyze(), and TestMixedSource().

TFile* edm::TestMixedSource::histFile_
private

Definition at line 78 of file TestMixedSource.h.

Referenced by endJob().

TH1I* edm::TestMixedSource::histHepMCProduct_bunch_
private

Definition at line 77 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

TH1I* edm::TestMixedSource::histPCaloHit_bunch_
private

Definition at line 70 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

TH1I* edm::TestMixedSource::histPSimHit_bunchPileups_MuonCSCHits_
private

Definition at line 76 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

TH1I* edm::TestMixedSource::histPSimHit_bunchPileups_TrackerHitsTECHighTof_
private

Definition at line 72 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

TH1I* edm::TestMixedSource::histPSimHit_bunchSignal_MuonCSCHits_
private

Definition at line 75 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

TH1I* edm::TestMixedSource::histPSimHit_bunchSignal_TrackerHitsTECHighTof_
private

Definition at line 71 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

TH1I* edm::TestMixedSource::histTrack_bunchPileups_
private

Definition at line 67 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

TH1I* edm::TestMixedSource::histTrack_bunchSignal_
private

Definition at line 68 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

TH1I* edm::TestMixedSource::histVertex_bunch_
private

Definition at line 69 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

int edm::TestMixedSource::maxbunch_
private

Definition at line 66 of file TestMixedSource.h.

Referenced by TestMixedSource().

int edm::TestMixedSource::minbunch_
private

Definition at line 65 of file TestMixedSource.h.

Referenced by TestMixedSource().

edm::EDGetTokenT<CrossingFrame<PSimHit> > edm::TestMixedSource::MuonToken_
private

Definition at line 81 of file TestMixedSource.h.

Referenced by analyze(), and TestMixedSource().

std::ofstream edm::TestMixedSource::outputFile
private

Definition at line 62 of file TestMixedSource.h.

Referenced by analyze(), beginJob(), and endJob().

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

Definition at line 85 of file TestMixedSource.h.

Referenced by analyze(), and TestMixedSource().

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

Definition at line 86 of file TestMixedSource.h.

Referenced by analyze(), and TestMixedSource().

TH1I* edm::TestMixedSource::tofhist_
private

Definition at line 73 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

TH1I* edm::TestMixedSource::tofhist_sig_
private

Definition at line 74 of file TestMixedSource.h.

Referenced by analyze(), endJob(), and TestMixedSource().

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

Definition at line 80 of file TestMixedSource.h.

Referenced by analyze(), and TestMixedSource().