CMS 3D CMS Logo

StudyCaloGen.cc
Go to the documentation of this file.
4 
10 
13 
20 //TFile Service
23 
30 
33 
35 
39 // track associator
41 
42 // root objects
43 #include "TROOT.h"
44 #include "TSystem.h"
45 #include "TFile.h"
46 #include "TH1I.h"
47 #include "TH2D.h"
48 #include "TTree.h"
49 
50 #include <cmath>
51 #include <iostream>
52 #include <iomanip>
53 #include <list>
54 #include <vector>
55 
56 class StudyCaloGen : public edm::one::EDAnalyzer<edm::one::SharedResources> {
57 public:
58  explicit StudyCaloGen(const edm::ParameterSet &);
59 
60  static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
61 
62 private:
63  void beginJob() override;
64  void analyze(const edm::Event &, const edm::EventSetup &) override;
65  void endJob() override {}
66 
67  void fillTrack(
68  GlobalPoint &posVec, math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId, bool okECAL, bool accpet);
69  void fillIsolatedTrack(math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId);
70  void bookHistograms();
71  void clearTreeVectors();
72  int particleCode(int);
73 
74  static constexpr int NPBins_ = 3;
75  static constexpr int NEtaBins_ = 4;
76  static constexpr int PBins_ = 32, EtaBins_ = 60, Particles = 12;
82 
85 
91 
92  bool useHepMC_;
95 
96  TH1I *h_NEventProc;
97  TH2D *h_pEta[Particles];
98  TTree *tree_;
99 
100  std::vector<double> *t_isoTrkPAll;
101  std::vector<double> *t_isoTrkPtAll;
102  std::vector<double> *t_isoTrkPhiAll;
103  std::vector<double> *t_isoTrkEtaAll;
104  std::vector<double> *t_isoTrkPdgIdAll;
105  std::vector<double> *t_isoTrkDEtaAll;
106  std::vector<double> *t_isoTrkDPhiAll;
107 
108  std::vector<double> *t_isoTrkP;
109  std::vector<double> *t_isoTrkPt;
110  std::vector<double> *t_isoTrkEne;
111  std::vector<double> *t_isoTrkEta;
112  std::vector<double> *t_isoTrkPhi;
113  std::vector<double> *t_isoTrkEtaEC;
114  std::vector<double> *t_isoTrkPhiEC;
115  std::vector<double> *t_isoTrkPdgId;
116 
117  std::vector<double> *t_maxNearP31x31;
119  std::vector<double> *t_nHadronEne31x31;
120  std::vector<double> *t_photonEne31x31;
121  std::vector<double> *t_eleEne31x31;
122  std::vector<double> *t_muEne31x31;
123 
124  std::vector<double> *t_maxNearP25x25;
126  std::vector<double> *t_nHadronEne25x25;
127  std::vector<double> *t_photonEne25x25;
128  std::vector<double> *t_eleEne25x25;
129  std::vector<double> *t_muEne25x25;
130 
131  std::vector<double> *t_maxNearP21x21;
133  std::vector<double> *t_nHadronEne21x21;
134  std::vector<double> *t_photonEne21x21;
135  std::vector<double> *t_eleEne21x21;
136  std::vector<double> *t_muEne21x21;
137 
138  std::vector<double> *t_maxNearP15x15;
140  std::vector<double> *t_nHadronEne15x15;
141  std::vector<double> *t_photonEne15x15;
142  std::vector<double> *t_eleEne15x15;
143  std::vector<double> *t_muEne15x15;
144 
145  std::vector<double> *t_maxNearP11x11;
147  std::vector<double> *t_nHadronEne11x11;
148  std::vector<double> *t_photonEne11x11;
149  std::vector<double> *t_eleEne11x11;
150  std::vector<double> *t_muEne11x11;
151 
152  std::vector<double> *t_maxNearP9x9;
154  std::vector<double> *t_nHadronEne9x9;
155  std::vector<double> *t_photonEne9x9;
156  std::vector<double> *t_eleEne9x9;
157  std::vector<double> *t_muEne9x9;
158 
159  std::vector<double> *t_maxNearP7x7;
161  std::vector<double> *t_nHadronEne7x7;
162  std::vector<double> *t_photonEne7x7;
163  std::vector<double> *t_eleEne7x7;
164  std::vector<double> *t_muEne7x7;
165 
166  std::vector<double> *t_maxNearP3x3;
168  std::vector<double> *t_nHadronEne3x3;
169  std::vector<double> *t_photonEne3x3;
170  std::vector<double> *t_eleEne3x3;
171  std::vector<double> *t_muEne3x3;
172 
173  std::vector<double> *t_maxNearP1x1;
175  std::vector<double> *t_nHadronEne1x1;
176  std::vector<double> *t_photonEne1x1;
177  std::vector<double> *t_eleEne1x1;
178  std::vector<double> *t_muEne1x1;
179 
180  std::vector<double> *t_maxNearPHC1x1;
182  std::vector<double> *t_nHadronEneHC1x1;
183  std::vector<double> *t_photonEneHC1x1;
184  std::vector<double> *t_eleEneHC1x1;
185  std::vector<double> *t_muEneHC1x1;
186 
187  std::vector<double> *t_maxNearPHC3x3;
189  std::vector<double> *t_nHadronEneHC3x3;
190  std::vector<double> *t_photonEneHC3x3;
191  std::vector<double> *t_eleEneHC3x3;
192  std::vector<double> *t_muEneHC3x3;
193 
194  std::vector<double> *t_maxNearPHC5x5;
196  std::vector<double> *t_nHadronEneHC5x5;
197  std::vector<double> *t_photonEneHC5x5;
198  std::vector<double> *t_eleEneHC5x5;
199  std::vector<double> *t_muEneHC5x5;
200 
201  std::vector<double> *t_maxNearPHC7x7;
203  std::vector<double> *t_nHadronEneHC7x7;
204  std::vector<double> *t_photonEneHC7x7;
205  std::vector<double> *t_eleEneHC7x7;
206  std::vector<double> *t_muEneHC7x7;
207 
208  std::vector<double> *t_maxNearPR;
210  std::vector<double> *t_nHadronEneR;
211  std::vector<double> *t_photonEneR;
212  std::vector<double> *t_eleEneR;
213  std::vector<double> *t_muEneR;
214 
215  std::vector<double> *t_maxNearPIsoR;
217  std::vector<double> *t_nHadronEneIsoR;
218  std::vector<double> *t_photonEneIsoR;
219  std::vector<double> *t_eleEneIsoR;
220  std::vector<double> *t_muEneIsoR;
221 
222  std::vector<double> *t_maxNearPHCR;
224  std::vector<double> *t_nHadronEneHCR;
225  std::vector<double> *t_photonEneHCR;
226  std::vector<double> *t_eleEneHCR;
227  std::vector<double> *t_muEneHCR;
228 
229  std::vector<double> *t_maxNearPIsoHCR;
231  std::vector<double> *t_nHadronEneIsoHCR;
232  std::vector<double> *t_photonEneIsoHCR;
233  std::vector<double> *t_eleEneIsoHCR;
234  std::vector<double> *t_muEneIsoHCR;
235 
240 };
241 
243  : ptMin_(iConfig.getUntrackedParameter<double>("PTMin", 1.0)),
244  etaMax_(iConfig.getUntrackedParameter<double>("MaxChargedHadronEta", 2.5)),
245  pCutIsolate_(iConfig.getUntrackedParameter<double>("PMaxIsolation", 20.0)),
246  a_Isolation_(iConfig.getUntrackedParameter<bool>("UseConeIsolation", false)),
247  genSrc_(iConfig.getUntrackedParameter("GenSrc", std::string("generatorSmeared"))),
248  useHepMC_(iConfig.getUntrackedParameter<bool>("UseHepMC", false)),
249  a_coneR_(iConfig.getUntrackedParameter<double>("ConeRadius", 34.98)),
250  a_mipR_(iConfig.getUntrackedParameter<double>("ConeRadiusMIP", 14.0)),
251  verbosity_(iConfig.getUntrackedParameter<int>("Verbosity", 0)) {
252  usesResource(TFileService::kSharedResource);
253 
254  a_charIsoR_ = a_coneR_ + 28.9;
255  a_neutIsoR_ = a_charIsoR_ * 0.726;
256 
257  tok_hepmc_ = consumes<edm::HepMCProduct>(edm::InputTag(genSrc_));
258  tok_genParticles_ = consumes<reco::GenParticleCollection>(edm::InputTag(genSrc_));
259 
260  if (!strcmp("Dummy", genSrc_.c_str())) {
261  if (useHepMC_)
262  genSrc_ = "generatorSmeared";
263  else
264  genSrc_ = "genParticles";
265  }
266  edm::LogVerbatim("IsoTrack") << "Generator Source " << genSrc_ << " Use HepMC " << useHepMC_ << " ptMin " << ptMin_
267  << " etaMax " << etaMax_ << "\n a_coneR " << a_coneR_ << " a_charIsoR " << a_charIsoR_
268  << " a_neutIsoR " << a_neutIsoR_ << " a_mipR " << a_mipR_ << " debug " << verbosity_
269  << "\nIsolation Flag " << a_Isolation_ << " with cut " << pCutIsolate_ << " GeV";
270 
271  tok_geom_ = esConsumes<CaloGeometry, CaloGeometryRecord>();
272  tok_caloTopology_ = esConsumes<CaloTopology, CaloTopologyRecord>();
273  tok_topo_ = esConsumes<HcalTopology, HcalRecNumberingRecord>();
274  tok_magField_ = esConsumes<MagneticField, IdealMagneticFieldRecord>();
275  tok_pdt_ = esConsumes<HepPDT::ParticleDataTable, PDTRecord>();
276 }
277 
280  desc.addUntracked<std::string>("GenSrc", "genParticles");
281  desc.addUntracked<bool>("UseHepMC", false);
282  desc.addUntracked<double>("ChargedHadronSeedP", 1.0);
283  desc.addUntracked<double>("PTMin", 1.0);
284  desc.addUntracked<double>("MaxChargedHadronEta", 2.5);
285  desc.addUntracked<double>("ConeRadius", 34.98);
286  desc.addUntracked<double>("ConeRadiusMIP", 14.0);
287  desc.addUntracked<bool>("UseConeIsolation", true);
288  desc.addUntracked<double>("PMaxIsolation", 5.0);
289  desc.addUntracked<int>("Verbosity", 0);
290  descriptions.add("studyCaloGen", desc);
291 }
292 
295 
296  nEventProc++;
297  const MagneticField *bField = &iSetup.getData(tok_magField_);
298 
299  // get particle data table
300  const HepPDT::ParticleDataTable *pdt = &iSetup.getData(tok_pdt_);
301 
302  // get handle to HEPMCProduct
305  if (useHepMC_)
306  iEvent.getByToken(tok_hepmc_, hepmc);
307  else
309 
310  const CaloGeometry *geo = &iSetup.getData(tok_geom_);
311  const CaloTopology *caloTopology = &iSetup.getData(tok_caloTopology_);
312  const HcalTopology *theHBHETopology = &iSetup.getData(tok_topo_);
313 
314  GlobalPoint posVec, posECAL;
316  if (verbosity_ > 0)
317  edm::LogVerbatim("IsoTrack") << "event number " << iEvent.id().event();
318  if (useHepMC_) {
319  const HepMC::GenEvent *myGenEvent = hepmc->GetEvent();
320  std::vector<spr::propagatedGenTrackID> trackIDs = spr::propagateCALO(myGenEvent, pdt, geo, bField, etaMax_, false);
321 
322  for (unsigned int indx = 0; indx < trackIDs.size(); ++indx) {
323  int charge = trackIDs[indx].charge;
324  HepMC::GenEvent::particle_const_iterator p = trackIDs[indx].trkItr;
325  momVec = math::XYZTLorentzVector(
326  (*p)->momentum().px(), (*p)->momentum().py(), (*p)->momentum().pz(), (*p)->momentum().e());
327  if (verbosity_ > 1)
328  edm::LogVerbatim("IsoTrack") << "trkIndx " << indx << " pdgid " << trackIDs[indx].pdgId << " charge " << charge
329  << " momVec " << momVec;
330  // only stable particles avoiding electrons and muons
331  if (trackIDs[indx].ok && (std::abs(trackIDs[indx].pdgId) < 11 || std::abs(trackIDs[indx].pdgId) >= 21)) {
332  // consider particles within a phased space
333  if (momVec.Pt() > ptMin_ && std::abs(momVec.eta()) < etaMax_) {
334  posVec = GlobalPoint(0.1 * (*p)->production_vertex()->position().x(),
335  0.1 * (*p)->production_vertex()->position().y(),
336  0.1 * (*p)->production_vertex()->position().z());
337  posECAL = trackIDs[indx].pointECAL;
338  fillTrack(posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL, true);
339  if (verbosity_ > 1)
340  edm::LogVerbatim("IsoTrack") << "posECAL " << posECAL << " okECAL " << trackIDs[indx].okECAL << "okHCAL "
341  << trackIDs[indx].okHCAL;
342  if (trackIDs[indx].okECAL) {
343  if (std::abs(charge) > 0) {
344  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 0, 0, isoinfo1x1, false);
345  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 1, 1, isoinfo3x3, false);
346  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 3, 3, isoinfo7x7, false);
347  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 4, 4, isoinfo9x9, false);
348  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 5, 5, isoinfo11x11, false);
349  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 7, 7, isoinfo15x15, false);
350  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 10, 10, isoinfo21x21, false);
351  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 12, 12, isoinfo25x25, false);
352  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 15, 15, isoinfo31x31, false);
353  spr::eGenSimInfo(trackIDs[indx].detIdECAL,
354  p,
355  trackIDs,
356  geo,
357  caloTopology,
358  a_mipR_,
359  trackIDs[indx].directionECAL,
360  isoinfoR,
361  false);
362  spr::eGenSimInfo(trackIDs[indx].detIdECAL,
363  p,
364  trackIDs,
365  geo,
366  caloTopology,
367  a_neutIsoR_,
368  trackIDs[indx].directionECAL,
369  isoinfoIsoR,
370  false);
371  if (trackIDs[indx].okHCAL) {
372  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 0, 0, isoinfoHC1x1, false);
373  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 1, 1, isoinfoHC3x3, false);
374  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 2, 2, isoinfoHC5x5, false);
375  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 3, 3, isoinfoHC7x7, false);
376  spr::hGenSimInfo(trackIDs[indx].detIdHCAL,
377  p,
378  trackIDs,
379  geo,
380  theHBHETopology,
381  a_coneR_,
382  trackIDs[indx].directionHCAL,
383  isoinfoHCR,
384  false);
385  spr::hGenSimInfo(trackIDs[indx].detIdHCAL,
386  p,
387  trackIDs,
388  geo,
389  theHBHETopology,
390  a_charIsoR_,
391  trackIDs[indx].directionHCAL,
393  false);
394  }
395 
396  bool saveTrack = true;
397  if (a_Isolation_)
398  saveTrack = (isoinfoR.maxNearP < pCutIsolate_);
399  else
400  saveTrack = (isoinfo7x7.maxNearP < pCutIsolate_);
401  if (saveTrack)
402  fillIsolatedTrack(momVec, posECAL, trackIDs[indx].pdgId);
403  }
404  }
405  } else { // stabale particles within |eta|=2.5
406  fillTrack(posVec, momVec, posECAL, 0, false, false);
407  }
408  }
409  }
410 
411  unsigned int indx;
412  HepMC::GenEvent::particle_const_iterator p;
413  for (p = myGenEvent->particles_begin(), indx = 0; p != myGenEvent->particles_end(); ++p, ++indx) {
414  int pdgId = ((*p)->pdg_id());
415  int ix = particleCode(pdgId);
416  if (ix >= 0) {
417  double pp = (*p)->momentum().rho();
418  double eta = (*p)->momentum().eta();
419  h_pEta[ix]->Fill(pp, eta);
420  }
421  }
422  } else { // loop over gen particles
423  std::vector<spr::propagatedGenParticleID> trackIDs =
425 
426  for (unsigned int indx = 0; indx < trackIDs.size(); ++indx) {
427  int charge = trackIDs[indx].charge;
428  reco::GenParticleCollection::const_iterator p = trackIDs[indx].trkItr;
429 
430  momVec = math::XYZTLorentzVector(p->momentum().x(), p->momentum().y(), p->momentum().z(), p->energy());
431  if (verbosity_ > 1)
432  edm::LogVerbatim("IsoTrack") << "trkIndx " << indx << " pdgid " << trackIDs[indx].pdgId << " charge " << charge
433  << " momVec " << momVec;
434  // only stable particles avoiding electrons and muons
435  if (trackIDs[indx].ok && std::abs(trackIDs[indx].pdgId) > 21) {
436  // consider particles within a phased space
437  if (verbosity_ > 1)
438  edm::LogVerbatim("IsoTrack") << " pt " << momVec.Pt() << " eta " << momVec.eta();
439  if (momVec.Pt() > ptMin_ && std::abs(momVec.eta()) < etaMax_) {
440  posVec = GlobalPoint(p->vertex().x(), p->vertex().y(), p->vertex().z());
441  posECAL = trackIDs[indx].pointECAL;
442  if (verbosity_ > 0)
443  edm::LogVerbatim("IsoTrack") << "posECAL " << posECAL << " okECAL " << trackIDs[indx].okECAL << "okHCAL "
444  << trackIDs[indx].okHCAL;
445  fillTrack(posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL, true);
446  if (trackIDs[indx].okECAL) {
447  if (std::abs(charge) > 0) {
449  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 0, 0, isoinfo1x1, verbosity_ > 1);
451  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 1, 1, isoinfo3x3, verbosity_ > 0);
453  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 3, 3, isoinfo7x7, verbosity_ > 1);
455  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 4, 4, isoinfo9x9, verbosity_ > 1);
457  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 5, 5, isoinfo11x11, verbosity_ > 1);
459  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 7, 7, isoinfo15x15, verbosity_ > 1);
461  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 10, 10, isoinfo21x21, verbosity_ > 1);
463  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 12, 12, isoinfo25x25, verbosity_ > 1);
465  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 15, 15, isoinfo31x31, verbosity_ > 1);
466  spr::eGenSimInfo(trackIDs[indx].detIdECAL,
467  p,
468  trackIDs,
469  geo,
470  caloTopology,
471  a_mipR_,
472  trackIDs[indx].directionECAL,
473  isoinfoR,
474  verbosity_ > 1);
475  spr::eGenSimInfo(trackIDs[indx].detIdECAL,
476  p,
477  trackIDs,
478  geo,
479  caloTopology,
480  a_neutIsoR_,
481  trackIDs[indx].directionECAL,
482  isoinfoIsoR,
483  verbosity_ > 1);
484  if (trackIDs[indx].okHCAL) {
486  trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 0, 0, isoinfoHC1x1, verbosity_ > 1);
488  trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 1, 1, isoinfoHC3x3, verbosity_ > 1);
490  trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 2, 2, isoinfoHC5x5, verbosity_ > 1);
492  trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 3, 3, isoinfoHC7x7, verbosity_ > 1);
493  spr::hGenSimInfo(trackIDs[indx].detIdHCAL,
494  p,
495  trackIDs,
496  geo,
497  theHBHETopology,
498  a_coneR_,
499  trackIDs[indx].directionHCAL,
500  isoinfoHCR,
501  verbosity_ > 1);
502  spr::hGenSimInfo(trackIDs[indx].detIdHCAL,
503  p,
504  trackIDs,
505  geo,
506  theHBHETopology,
507  a_charIsoR_,
508  trackIDs[indx].directionHCAL,
510  verbosity_ > 1);
511  }
512 
513  bool saveTrack = true;
514  if (a_Isolation_)
515  saveTrack = (isoinfoIsoR.maxNearP < pCutIsolate_);
516  else
517  saveTrack = (isoinfo7x7.maxNearP < pCutIsolate_);
518  if (saveTrack)
519  fillIsolatedTrack(momVec, posECAL, trackIDs[indx].pdgId);
520  }
521  }
522  } else { // stabale particles within |eta|=2.5
523  fillTrack(posVec, momVec, posECAL, 0, false, false);
524  }
525  }
526  } // loop over gen particles
527 
528  unsigned int indx;
529  reco::GenParticleCollection::const_iterator p;
530  for (p = genParticles->begin(), indx = 0; p != genParticles->end(); ++p, ++indx) {
531  int pdgId = (p->pdgId());
532  int ix = particleCode(pdgId);
533  if (ix >= 0) {
534  double pp = (p->momentum()).R();
535  double eta = (p->momentum()).Eta();
536  h_pEta[ix]->Fill(pp, eta);
537  }
538  }
539  }
540 
541  //t_nEvtProc->push_back(nEventProc);
542  h_NEventProc->SetBinContent(1, nEventProc);
543  tree_->Fill();
544 }
545 
547  nEventProc = 0;
548 
549  double tempgen_TH[NPBins_ + 1] = {0.0, 5.0, 12.0, 300.0};
550  for (int i = 0; i <= NPBins_; i++)
551  genPartPBins_[i] = tempgen_TH[i];
552 
553  double tempgen_Eta[NEtaBins_ + 1] = {0.0, 0.5, 1.1, 1.7, 2.3};
554  for (int i = 0; i <= NEtaBins_; i++)
555  genPartEtaBins_[i] = tempgen_Eta[i];
556 
557  bookHistograms();
558 }
559 
561  GlobalPoint &posVec, math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId, bool okECAL, bool accept) {
562  if (accept) {
563  t_isoTrkPAll->push_back(momVec.P());
564  t_isoTrkPtAll->push_back(momVec.Pt());
565  t_isoTrkPhiAll->push_back(momVec.phi());
566  t_isoTrkEtaAll->push_back(momVec.eta());
567  t_isoTrkPdgIdAll->push_back(pdgId);
568  if (okECAL) {
569  double phi1 = momVec.phi();
570  double phi2 = (posECAL - posVec).phi();
571  double dphi = reco::deltaPhi(phi1, phi2);
572  double deta = momVec.eta() - (posECAL - posVec).eta();
573  t_isoTrkDPhiAll->push_back(dphi);
574  t_isoTrkDEtaAll->push_back(deta);
575  } else {
576  t_isoTrkDPhiAll->push_back(999.0);
577  t_isoTrkDEtaAll->push_back(999.0);
578  }
579  } else {
580  t_isoTrkDPhiAll->push_back(-999.0);
581  t_isoTrkDEtaAll->push_back(-999.0);
582  }
583 }
584 
586  t_isoTrkP->push_back(momVec.P());
587  t_isoTrkPt->push_back(momVec.Pt());
588  t_isoTrkEne->push_back(momVec.E());
589  t_isoTrkEta->push_back(momVec.eta());
590  t_isoTrkPhi->push_back(momVec.phi());
591  t_isoTrkEtaEC->push_back(posECAL.eta());
592  t_isoTrkPhiEC->push_back(posECAL.phi());
593  t_isoTrkPdgId->push_back(pdgId);
594 
602  t_eleEne31x31->push_back(isoinfo31x31.eleEne);
603  t_muEne31x31->push_back(isoinfo31x31.muEne);
604 
612  t_eleEne25x25->push_back(isoinfo25x25.eleEne);
613  t_muEne25x25->push_back(isoinfo25x25.muEne);
614 
622  t_eleEne21x21->push_back(isoinfo21x21.eleEne);
623  t_muEne21x21->push_back(isoinfo21x21.muEne);
624 
632  t_eleEne15x15->push_back(isoinfo15x15.eleEne);
633  t_muEne15x15->push_back(isoinfo15x15.muEne);
634 
642  t_eleEne11x11->push_back(isoinfo11x11.eleEne);
643  t_muEne11x11->push_back(isoinfo11x11.muEne);
644 
645  t_maxNearP9x9->push_back(isoinfo9x9.maxNearP);
651  t_photonEne9x9->push_back(isoinfo9x9.photonEne);
652  t_eleEne9x9->push_back(isoinfo9x9.eleEne);
653  t_muEne9x9->push_back(isoinfo9x9.muEne);
654 
655  t_maxNearP7x7->push_back(isoinfo7x7.maxNearP);
661  t_photonEne7x7->push_back(isoinfo7x7.photonEne);
662  t_eleEne7x7->push_back(isoinfo7x7.eleEne);
663  t_muEne7x7->push_back(isoinfo7x7.muEne);
664 
665  t_maxNearP3x3->push_back(isoinfo3x3.maxNearP);
671  t_photonEne3x3->push_back(isoinfo3x3.photonEne);
672  t_eleEne3x3->push_back(isoinfo3x3.eleEne);
673  t_muEne3x3->push_back(isoinfo3x3.muEne);
674 
675  t_maxNearP1x1->push_back(isoinfo1x1.maxNearP);
681  t_photonEne1x1->push_back(isoinfo1x1.photonEne);
682  t_eleEne1x1->push_back(isoinfo1x1.eleEne);
683  t_muEne1x1->push_back(isoinfo1x1.muEne);
684 
692  t_eleEneHC1x1->push_back(isoinfoHC1x1.eleEne);
693  t_muEneHC1x1->push_back(isoinfoHC1x1.muEne);
694 
702  t_eleEneHC3x3->push_back(isoinfoHC3x3.eleEne);
703  t_muEneHC3x3->push_back(isoinfoHC3x3.muEne);
704 
712  t_eleEneHC5x5->push_back(isoinfoHC5x5.eleEne);
713  t_muEneHC5x5->push_back(isoinfoHC5x5.muEne);
714 
722  t_eleEneHC7x7->push_back(isoinfoHC7x7.eleEne);
723  t_muEneHC7x7->push_back(isoinfoHC7x7.muEne);
724 
725  t_maxNearPR->push_back(isoinfoR.maxNearP);
726  t_cHadronEneR->push_back(isoinfoR.cHadronEne);
727  t_cHadronEneR_1->push_back(isoinfoR.cHadronEne_[0]);
728  t_cHadronEneR_2->push_back(isoinfoR.cHadronEne_[1]);
729  t_cHadronEneR_3->push_back(isoinfoR.cHadronEne_[2]);
730  t_nHadronEneR->push_back(isoinfoR.nHadronEne);
731  t_photonEneR->push_back(isoinfoR.photonEne);
732  t_eleEneR->push_back(isoinfoR.eleEne);
733  t_muEneR->push_back(isoinfoR.muEne);
734 
735  t_maxNearPIsoR->push_back(isoinfoIsoR.maxNearP);
742  t_eleEneIsoR->push_back(isoinfoIsoR.eleEne);
743  t_muEneIsoR->push_back(isoinfoIsoR.muEne);
744 
745  t_maxNearPHCR->push_back(isoinfoHCR.maxNearP);
751  t_photonEneHCR->push_back(isoinfoHCR.photonEne);
752  t_eleEneHCR->push_back(isoinfoHCR.eleEne);
753  t_muEneHCR->push_back(isoinfoHCR.muEne);
754 
762  t_eleEneIsoHCR->push_back(isoinfoIsoHCR.eleEne);
763  t_muEneIsoHCR->push_back(isoinfoIsoHCR.muEne);
764 }
765 
768  //char hname[100], htit[100];
769 
770  h_NEventProc = fs->make<TH1I>("h_NEventProc", "h_NEventProc", 2, -0.5, 0.5);
771 
772  double pBin[PBins_ + 1] = {0.0, 2.0, 4.0, 6.0, 8.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0,
773  70.0, 80.0, 90.0, 100.0, 150.0, 200.0, 250.0, 300.0, 350.0, 400.0, 450.0,
774  500.0, 550.0, 600.0, 650.0, 700.0, 750.0, 800.0, 850.0, 900.0, 950.0, 1000.0};
775  double etaBin[EtaBins_ + 1] = {-3.0, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2.0, -1.9, -1.8,
776  -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1.0, -0.9, -0.8, -0.7, -0.6, -0.5,
777  -0.4, -0.3, -0.2, -0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,
778  0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1,
779  2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0};
780  std::string particle[Particles] = {
781  "electron", "positron", "#gamma", "#pi^+", "#pi^-", "K^+", "K^-", "p", "n", "pbar", "nbar", "K^0_L"};
782  TFileDirectory dir1 = fs->mkdir("pEta");
783  char name[20], title[50];
784  for (int i = 0; i < Particles; ++i) {
785  sprintf(name, "pEta%d", i);
786  sprintf(title, "#eta vs momentum for %s", particle[i].c_str());
787  h_pEta[i] = dir1.make<TH2D>(name, title, PBins_, pBin, EtaBins_, etaBin);
788  }
789 
790  // build the tree
791  tree_ = fs->make<TTree>("StudyCaloGen", "StudyCaloGen");
792 
793  t_isoTrkPAll = new std::vector<double>();
794  t_isoTrkPtAll = new std::vector<double>();
795  t_isoTrkPhiAll = new std::vector<double>();
796  t_isoTrkEtaAll = new std::vector<double>();
797  t_isoTrkDPhiAll = new std::vector<double>();
798  t_isoTrkDEtaAll = new std::vector<double>();
799  t_isoTrkPdgIdAll = new std::vector<double>();
800 
801  t_isoTrkP = new std::vector<double>();
802  t_isoTrkPt = new std::vector<double>();
803  t_isoTrkEne = new std::vector<double>();
804  t_isoTrkEta = new std::vector<double>();
805  t_isoTrkPhi = new std::vector<double>();
806  t_isoTrkEtaEC = new std::vector<double>();
807  t_isoTrkPhiEC = new std::vector<double>();
808  t_isoTrkPdgId = new std::vector<double>();
809 
810  t_maxNearP31x31 = new std::vector<double>();
811  t_cHadronEne31x31 = new std::vector<double>();
812  t_cHadronEne31x31_1 = new std::vector<double>();
813  t_cHadronEne31x31_2 = new std::vector<double>();
814  t_cHadronEne31x31_3 = new std::vector<double>();
815  t_nHadronEne31x31 = new std::vector<double>();
816  t_photonEne31x31 = new std::vector<double>();
817  t_eleEne31x31 = new std::vector<double>();
818  t_muEne31x31 = new std::vector<double>();
819 
820  t_maxNearP25x25 = new std::vector<double>();
821  t_cHadronEne25x25 = new std::vector<double>();
822  t_cHadronEne25x25_1 = new std::vector<double>();
823  t_cHadronEne25x25_2 = new std::vector<double>();
824  t_cHadronEne25x25_3 = new std::vector<double>();
825  t_nHadronEne25x25 = new std::vector<double>();
826  t_photonEne25x25 = new std::vector<double>();
827  t_eleEne25x25 = new std::vector<double>();
828  t_muEne25x25 = new std::vector<double>();
829 
830  t_maxNearP21x21 = new std::vector<double>();
831  t_cHadronEne21x21 = new std::vector<double>();
832  t_cHadronEne21x21_1 = new std::vector<double>();
833  t_cHadronEne21x21_2 = new std::vector<double>();
834  t_cHadronEne21x21_3 = new std::vector<double>();
835  t_nHadronEne21x21 = new std::vector<double>();
836  t_photonEne21x21 = new std::vector<double>();
837  t_eleEne21x21 = new std::vector<double>();
838  t_muEne21x21 = new std::vector<double>();
839 
840  t_maxNearP15x15 = new std::vector<double>();
841  t_cHadronEne15x15 = new std::vector<double>();
842  t_cHadronEne15x15_1 = new std::vector<double>();
843  t_cHadronEne15x15_2 = new std::vector<double>();
844  t_cHadronEne15x15_3 = new std::vector<double>();
845  t_nHadronEne15x15 = new std::vector<double>();
846  t_photonEne15x15 = new std::vector<double>();
847  t_eleEne15x15 = new std::vector<double>();
848  t_muEne15x15 = new std::vector<double>();
849 
850  t_maxNearP11x11 = new std::vector<double>();
851  t_cHadronEne11x11 = new std::vector<double>();
852  t_cHadronEne11x11_1 = new std::vector<double>();
853  t_cHadronEne11x11_2 = new std::vector<double>();
854  t_cHadronEne11x11_3 = new std::vector<double>();
855  t_nHadronEne11x11 = new std::vector<double>();
856  t_photonEne11x11 = new std::vector<double>();
857  t_eleEne11x11 = new std::vector<double>();
858  t_muEne11x11 = new std::vector<double>();
859 
860  t_maxNearP9x9 = new std::vector<double>();
861  t_cHadronEne9x9 = new std::vector<double>();
862  t_cHadronEne9x9_1 = new std::vector<double>();
863  t_cHadronEne9x9_2 = new std::vector<double>();
864  t_cHadronEne9x9_3 = new std::vector<double>();
865  t_nHadronEne9x9 = new std::vector<double>();
866  t_photonEne9x9 = new std::vector<double>();
867  t_eleEne9x9 = new std::vector<double>();
868  t_muEne9x9 = new std::vector<double>();
869 
870  t_maxNearP7x7 = new std::vector<double>();
871  t_cHadronEne7x7 = new std::vector<double>();
872  t_cHadronEne7x7_1 = new std::vector<double>();
873  t_cHadronEne7x7_2 = new std::vector<double>();
874  t_cHadronEne7x7_3 = new std::vector<double>();
875  t_nHadronEne7x7 = new std::vector<double>();
876  t_photonEne7x7 = new std::vector<double>();
877  t_eleEne7x7 = new std::vector<double>();
878  t_muEne7x7 = new std::vector<double>();
879 
880  t_maxNearP3x3 = new std::vector<double>();
881  t_cHadronEne3x3 = new std::vector<double>();
882  t_cHadronEne3x3_1 = new std::vector<double>();
883  t_cHadronEne3x3_2 = new std::vector<double>();
884  t_cHadronEne3x3_3 = new std::vector<double>();
885  t_nHadronEne3x3 = new std::vector<double>();
886  t_photonEne3x3 = new std::vector<double>();
887  t_eleEne3x3 = new std::vector<double>();
888  t_muEne3x3 = new std::vector<double>();
889 
890  t_maxNearP1x1 = new std::vector<double>();
891  t_cHadronEne1x1 = new std::vector<double>();
892  t_cHadronEne1x1_1 = new std::vector<double>();
893  t_cHadronEne1x1_2 = new std::vector<double>();
894  t_cHadronEne1x1_3 = new std::vector<double>();
895  t_nHadronEne1x1 = new std::vector<double>();
896  t_photonEne1x1 = new std::vector<double>();
897  t_eleEne1x1 = new std::vector<double>();
898  t_muEne1x1 = new std::vector<double>();
899 
900  t_maxNearPHC1x1 = new std::vector<double>();
901  t_cHadronEneHC1x1 = new std::vector<double>();
902  t_cHadronEneHC1x1_1 = new std::vector<double>();
903  t_cHadronEneHC1x1_2 = new std::vector<double>();
904  t_cHadronEneHC1x1_3 = new std::vector<double>();
905  t_nHadronEneHC1x1 = new std::vector<double>();
906  t_photonEneHC1x1 = new std::vector<double>();
907  t_eleEneHC1x1 = new std::vector<double>();
908  t_muEneHC1x1 = new std::vector<double>();
909 
910  t_maxNearPHC3x3 = new std::vector<double>();
911  t_cHadronEneHC3x3 = new std::vector<double>();
912  t_cHadronEneHC3x3_1 = new std::vector<double>();
913  t_cHadronEneHC3x3_2 = new std::vector<double>();
914  t_cHadronEneHC3x3_3 = new std::vector<double>();
915  t_nHadronEneHC3x3 = new std::vector<double>();
916  t_photonEneHC3x3 = new std::vector<double>();
917  t_eleEneHC3x3 = new std::vector<double>();
918  t_muEneHC3x3 = new std::vector<double>();
919 
920  t_maxNearPHC5x5 = new std::vector<double>();
921  t_cHadronEneHC5x5 = new std::vector<double>();
922  t_cHadronEneHC5x5_1 = new std::vector<double>();
923  t_cHadronEneHC5x5_2 = new std::vector<double>();
924  t_cHadronEneHC5x5_3 = new std::vector<double>();
925  t_nHadronEneHC5x5 = new std::vector<double>();
926  t_photonEneHC5x5 = new std::vector<double>();
927  t_eleEneHC5x5 = new std::vector<double>();
928  t_muEneHC5x5 = new std::vector<double>();
929 
930  t_maxNearPHC7x7 = new std::vector<double>();
931  t_cHadronEneHC7x7 = new std::vector<double>();
932  t_cHadronEneHC7x7_1 = new std::vector<double>();
933  t_cHadronEneHC7x7_2 = new std::vector<double>();
934  t_cHadronEneHC7x7_3 = new std::vector<double>();
935  t_nHadronEneHC7x7 = new std::vector<double>();
936  t_photonEneHC7x7 = new std::vector<double>();
937  t_eleEneHC7x7 = new std::vector<double>();
938  t_muEneHC7x7 = new std::vector<double>();
939 
940  t_maxNearPR = new std::vector<double>();
941  t_cHadronEneR = new std::vector<double>();
942  t_cHadronEneR_1 = new std::vector<double>();
943  t_cHadronEneR_2 = new std::vector<double>();
944  t_cHadronEneR_3 = new std::vector<double>();
945  t_nHadronEneR = new std::vector<double>();
946  t_photonEneR = new std::vector<double>();
947  t_eleEneR = new std::vector<double>();
948  t_muEneR = new std::vector<double>();
949 
950  t_maxNearPIsoR = new std::vector<double>();
951  t_cHadronEneIsoR = new std::vector<double>();
952  t_cHadronEneIsoR_1 = new std::vector<double>();
953  t_cHadronEneIsoR_2 = new std::vector<double>();
954  t_cHadronEneIsoR_3 = new std::vector<double>();
955  t_nHadronEneIsoR = new std::vector<double>();
956  t_photonEneIsoR = new std::vector<double>();
957  t_eleEneIsoR = new std::vector<double>();
958  t_muEneIsoR = new std::vector<double>();
959 
960  t_maxNearPHCR = new std::vector<double>();
961  t_cHadronEneHCR = new std::vector<double>();
962  t_cHadronEneHCR_1 = new std::vector<double>();
963  t_cHadronEneHCR_2 = new std::vector<double>();
964  t_cHadronEneHCR_3 = new std::vector<double>();
965  t_nHadronEneHCR = new std::vector<double>();
966  t_photonEneHCR = new std::vector<double>();
967  t_eleEneHCR = new std::vector<double>();
968  t_muEneHCR = new std::vector<double>();
969 
970  t_maxNearPIsoHCR = new std::vector<double>();
971  t_cHadronEneIsoHCR = new std::vector<double>();
972  t_cHadronEneIsoHCR_1 = new std::vector<double>();
973  t_cHadronEneIsoHCR_2 = new std::vector<double>();
974  t_cHadronEneIsoHCR_3 = new std::vector<double>();
975  t_nHadronEneIsoHCR = new std::vector<double>();
976  t_photonEneIsoHCR = new std::vector<double>();
977  t_eleEneIsoHCR = new std::vector<double>();
978  t_muEneIsoHCR = new std::vector<double>();
979 
980  tree_->Branch("t_isoTrkPAll", "std::vector<double>", &t_isoTrkPAll);
981  tree_->Branch("t_isoTrkPtAll", "std::vector<double>", &t_isoTrkPtAll);
982  tree_->Branch("t_isoTrkPhiAll", "std::vector<double>", &t_isoTrkPhiAll);
983  tree_->Branch("t_isoTrkEtaAll", "std::vector<double>", &t_isoTrkEtaAll);
984  tree_->Branch("t_isoTrkDPhiAll", "std::vector<double>", &t_isoTrkDPhiAll);
985  tree_->Branch("t_isoTrkDEtaAll", "std::vector<double>", &t_isoTrkDEtaAll);
986  tree_->Branch("t_isoTrkPdgIdAll", "std::vector<double>", &t_isoTrkPdgIdAll);
987 
988  tree_->Branch("t_isoTrkP", "std::vector<double>", &t_isoTrkP);
989  tree_->Branch("t_isoTrkPt", "std::vector<double>", &t_isoTrkPt);
990  tree_->Branch("t_isoTrkEne", "std::vector<double>", &t_isoTrkEne);
991  tree_->Branch("t_isoTrkEta", "std::vector<double>", &t_isoTrkEta);
992  tree_->Branch("t_isoTrkPhi", "std::vector<double>", &t_isoTrkPhi);
993  tree_->Branch("t_isoTrkEtaEC", "std::vector<double>", &t_isoTrkEtaEC);
994  tree_->Branch("t_isoTrkPhiEC", "std::vector<double>", &t_isoTrkPhiEC);
995  tree_->Branch("t_isoTrkPdgId", "std::vector<double>", &t_isoTrkPdgId);
996 
997  tree_->Branch("t_maxNearP31x31", "std::vector<double>", &t_maxNearP31x31);
998  tree_->Branch("t_cHadronEne31x31", "std::vector<double>", &t_cHadronEne31x31);
999  tree_->Branch("t_cHadronEne31x31_1", "std::vector<double>", &t_cHadronEne31x31_1);
1000  tree_->Branch("t_cHadronEne31x31_2", "std::vector<double>", &t_cHadronEne31x31_2);
1001  tree_->Branch("t_cHadronEne31x31_3", "std::vector<double>", &t_cHadronEne31x31_3);
1002  tree_->Branch("t_nHadronEne31x31", "std::vector<double>", &t_nHadronEne31x31);
1003  tree_->Branch("t_photonEne31x31", "std::vector<double>", &t_photonEne31x31);
1004  tree_->Branch("t_eleEne31x31", "std::vector<double>", &t_eleEne31x31);
1005  tree_->Branch("t_muEne31x31", "std::vector<double>", &t_muEne31x31);
1006 
1007  tree_->Branch("t_maxNearP25x25", "std::vector<double>", &t_maxNearP25x25);
1008  tree_->Branch("t_cHadronEne25x25", "std::vector<double>", &t_cHadronEne25x25);
1009  tree_->Branch("t_cHadronEne25x25_1", "std::vector<double>", &t_cHadronEne25x25_1);
1010  tree_->Branch("t_cHadronEne25x25_2", "std::vector<double>", &t_cHadronEne25x25_2);
1011  tree_->Branch("t_cHadronEne25x25_3", "std::vector<double>", &t_cHadronEne25x25_3);
1012  tree_->Branch("t_nHadronEne25x25", "std::vector<double>", &t_nHadronEne25x25);
1013  tree_->Branch("t_photonEne25x25", "std::vector<double>", &t_photonEne25x25);
1014  tree_->Branch("t_eleEne25x25", "std::vector<double>", &t_eleEne25x25);
1015  tree_->Branch("t_muEne25x25", "std::vector<double>", &t_muEne25x25);
1016 
1017  tree_->Branch("t_maxNearP21x21", "std::vector<double>", &t_maxNearP21x21);
1018  tree_->Branch("t_cHadronEne21x21", "std::vector<double>", &t_cHadronEne21x21);
1019  tree_->Branch("t_cHadronEne21x21_1", "std::vector<double>", &t_cHadronEne21x21_1);
1020  tree_->Branch("t_cHadronEne21x21_2", "std::vector<double>", &t_cHadronEne21x21_2);
1021  tree_->Branch("t_cHadronEne21x21_3", "std::vector<double>", &t_cHadronEne21x21_3);
1022  tree_->Branch("t_nHadronEne21x21", "std::vector<double>", &t_nHadronEne21x21);
1023  tree_->Branch("t_photonEne21x21", "std::vector<double>", &t_photonEne21x21);
1024  tree_->Branch("t_eleEne21x21", "std::vector<double>", &t_eleEne21x21);
1025  tree_->Branch("t_muEne21x21", "std::vector<double>", &t_muEne21x21);
1026 
1027  tree_->Branch("t_maxNearP15x15", "std::vector<double>", &t_maxNearP15x15);
1028  tree_->Branch("t_cHadronEne15x15", "std::vector<double>", &t_cHadronEne15x15);
1029  tree_->Branch("t_cHadronEne15x15_1", "std::vector<double>", &t_cHadronEne15x15_1);
1030  tree_->Branch("t_cHadronEne15x15_2", "std::vector<double>", &t_cHadronEne15x15_2);
1031  tree_->Branch("t_cHadronEne15x15_3", "std::vector<double>", &t_cHadronEne15x15_3);
1032  tree_->Branch("t_nHadronEne15x15", "std::vector<double>", &t_nHadronEne15x15);
1033  tree_->Branch("t_photonEne15x15", "std::vector<double>", &t_photonEne15x15);
1034  tree_->Branch("t_eleEne15x15", "std::vector<double>", &t_eleEne15x15);
1035  tree_->Branch("t_muEne15x15", "std::vector<double>", &t_muEne15x15);
1036 
1037  tree_->Branch("t_maxNearP11x11", "std::vector<double>", &t_maxNearP11x11);
1038  tree_->Branch("t_cHadronEne11x11", "std::vector<double>", &t_cHadronEne11x11);
1039  tree_->Branch("t_cHadronEne11x11_1", "std::vector<double>", &t_cHadronEne11x11_1);
1040  tree_->Branch("t_cHadronEne11x11_2", "std::vector<double>", &t_cHadronEne11x11_2);
1041  tree_->Branch("t_cHadronEne11x11_3", "std::vector<double>", &t_cHadronEne11x11_3);
1042  tree_->Branch("t_nHadronEne11x11", "std::vector<double>", &t_nHadronEne11x11);
1043  tree_->Branch("t_photonEne11x11", "std::vector<double>", &t_photonEne11x11);
1044  tree_->Branch("t_eleEne11x11", "std::vector<double>", &t_eleEne11x11);
1045  tree_->Branch("t_muEne11x11", "std::vector<double>", &t_muEne11x11);
1046 
1047  tree_->Branch("t_maxNearP9x9", "std::vector<double>", &t_maxNearP9x9);
1048  tree_->Branch("t_cHadronEne9x9", "std::vector<double>", &t_cHadronEne9x9);
1049  tree_->Branch("t_cHadronEne9x9_1", "std::vector<double>", &t_cHadronEne9x9_1);
1050  tree_->Branch("t_cHadronEne9x9_2", "std::vector<double>", &t_cHadronEne9x9_2);
1051  tree_->Branch("t_cHadronEne9x9_3", "std::vector<double>", &t_cHadronEne9x9_3);
1052  tree_->Branch("t_nHadronEne9x9", "std::vector<double>", &t_nHadronEne9x9);
1053  tree_->Branch("t_photonEne9x9", "std::vector<double>", &t_photonEne9x9);
1054  tree_->Branch("t_eleEne9x9", "std::vector<double>", &t_eleEne9x9);
1055  tree_->Branch("t_muEne9x9", "std::vector<double>", &t_muEne9x9);
1056 
1057  tree_->Branch("t_maxNearP7x7", "std::vector<double>", &t_maxNearP7x7);
1058  tree_->Branch("t_cHadronEne7x7", "std::vector<double>", &t_cHadronEne7x7);
1059  tree_->Branch("t_cHadronEne7x7_1", "std::vector<double>", &t_cHadronEne7x7_1);
1060  tree_->Branch("t_cHadronEne7x7_2", "std::vector<double>", &t_cHadronEne7x7_2);
1061  tree_->Branch("t_cHadronEne7x7_3", "std::vector<double>", &t_cHadronEne7x7_3);
1062  tree_->Branch("t_nHadronEne7x7", "std::vector<double>", &t_nHadronEne7x7);
1063  tree_->Branch("t_photonEne7x7", "std::vector<double>", &t_photonEne7x7);
1064  tree_->Branch("t_eleEne7x7", "std::vector<double>", &t_eleEne7x7);
1065  tree_->Branch("t_muEne7x7", "std::vector<double>", &t_muEne7x7);
1066 
1067  tree_->Branch("t_maxNearP3x3", "std::vector<double>", &t_maxNearP3x3);
1068  tree_->Branch("t_cHadronEne3x3", "std::vector<double>", &t_cHadronEne3x3);
1069  tree_->Branch("t_cHadronEne3x3_1", "std::vector<double>", &t_cHadronEne3x3_1);
1070  tree_->Branch("t_cHadronEne3x3_2", "std::vector<double>", &t_cHadronEne3x3_2);
1071  tree_->Branch("t_cHadronEne3x3_3", "std::vector<double>", &t_cHadronEne3x3_3);
1072  tree_->Branch("t_nHadronEne3x3", "std::vector<double>", &t_nHadronEne3x3);
1073  tree_->Branch("t_photonEne3x3", "std::vector<double>", &t_photonEne3x3);
1074  tree_->Branch("t_eleEne3x3", "std::vector<double>", &t_eleEne3x3);
1075  tree_->Branch("t_muEne3x3", "std::vector<double>", &t_muEne3x3);
1076 
1077  tree_->Branch("t_maxNearP1x1", "std::vector<double>", &t_maxNearP1x1);
1078  tree_->Branch("t_cHadronEne1x1", "std::vector<double>", &t_cHadronEne1x1);
1079  tree_->Branch("t_cHadronEne1x1_1", "std::vector<double>", &t_cHadronEne1x1_1);
1080  tree_->Branch("t_cHadronEne1x1_2", "std::vector<double>", &t_cHadronEne1x1_2);
1081  tree_->Branch("t_cHadronEne1x1_3", "std::vector<double>", &t_cHadronEne1x1_3);
1082  tree_->Branch("t_nHadronEne1x1", "std::vector<double>", &t_nHadronEne1x1);
1083  tree_->Branch("t_photonEne1x1", "std::vector<double>", &t_photonEne1x1);
1084  tree_->Branch("t_eleEne1x1", "std::vector<double>", &t_eleEne1x1);
1085  tree_->Branch("t_muEne1x1", "std::vector<double>", &t_muEne1x1);
1086 
1087  tree_->Branch("t_maxNearPHC1x1", "std::vector<double>", &t_maxNearPHC1x1);
1088  tree_->Branch("t_cHadronEneHC1x1", "std::vector<double>", &t_cHadronEneHC1x1);
1089  tree_->Branch("t_cHadronEneHC1x1_1", "std::vector<double>", &t_cHadronEneHC1x1_1);
1090  tree_->Branch("t_cHadronEneHC1x1_2", "std::vector<double>", &t_cHadronEneHC1x1_2);
1091  tree_->Branch("t_cHadronEneHC1x1_3", "std::vector<double>", &t_cHadronEneHC1x1_3);
1092  tree_->Branch("t_nHadronEneHC1x1", "std::vector<double>", &t_nHadronEneHC1x1);
1093  tree_->Branch("t_photonEneHC1x1", "std::vector<double>", &t_photonEneHC1x1);
1094  tree_->Branch("t_eleEneHC1x1", "std::vector<double>", &t_eleEneHC1x1);
1095  tree_->Branch("t_muEneHC1x1", "std::vector<double>", &t_muEneHC1x1);
1096 
1097  tree_->Branch("t_maxNearPHC3x3", "std::vector<double>", &t_maxNearPHC3x3);
1098  tree_->Branch("t_cHadronEneHC3x3", "std::vector<double>", &t_cHadronEneHC3x3);
1099  tree_->Branch("t_cHadronEneHC3x3_1", "std::vector<double>", &t_cHadronEneHC3x3_1);
1100  tree_->Branch("t_cHadronEneHC3x3_2", "std::vector<double>", &t_cHadronEneHC3x3_2);
1101  tree_->Branch("t_cHadronEneHC3x3_3", "std::vector<double>", &t_cHadronEneHC3x3_3);
1102  tree_->Branch("t_nHadronEneHC3x3", "std::vector<double>", &t_nHadronEneHC3x3);
1103  tree_->Branch("t_photonEneHC3x3", "std::vector<double>", &t_photonEneHC3x3);
1104  tree_->Branch("t_eleEneHC3x3", "std::vector<double>", &t_eleEneHC3x3);
1105  tree_->Branch("t_muEneHC3x3", "std::vector<double>", &t_muEneHC3x3);
1106 
1107  tree_->Branch("t_maxNearPHC5x5", "std::vector<double>", &t_maxNearPHC5x5);
1108  tree_->Branch("t_cHadronEneHC5x5", "std::vector<double>", &t_cHadronEneHC5x5);
1109  tree_->Branch("t_cHadronEneHC5x5_1", "std::vector<double>", &t_cHadronEneHC5x5_1);
1110  tree_->Branch("t_cHadronEneHC5x5_2", "std::vector<double>", &t_cHadronEneHC5x5_2);
1111  tree_->Branch("t_cHadronEneHC5x5_3", "std::vector<double>", &t_cHadronEneHC5x5_3);
1112  tree_->Branch("t_nHadronEneHC5x5", "std::vector<double>", &t_nHadronEneHC5x5);
1113  tree_->Branch("t_photonEneHC5x5", "std::vector<double>", &t_photonEneHC5x5);
1114  tree_->Branch("t_eleEneHC5x5", "std::vector<double>", &t_eleEneHC5x5);
1115  tree_->Branch("t_muEneHC5x5", "std::vector<double>", &t_muEneHC5x5);
1116 
1117  tree_->Branch("t_maxNearPHC7x7", "std::vector<double>", &t_maxNearPHC7x7);
1118  tree_->Branch("t_cHadronEneHC7x7", "std::vector<double>", &t_cHadronEneHC7x7);
1119  tree_->Branch("t_cHadronEneHC7x7_1", "std::vector<double>", &t_cHadronEneHC7x7_1);
1120  tree_->Branch("t_cHadronEneHC7x7_2", "std::vector<double>", &t_cHadronEneHC7x7_2);
1121  tree_->Branch("t_cHadronEneHC7x7_3", "std::vector<double>", &t_cHadronEneHC7x7_3);
1122  tree_->Branch("t_nHadronEneHC7x7", "std::vector<double>", &t_nHadronEneHC7x7);
1123  tree_->Branch("t_photonEneHC7x7", "std::vector<double>", &t_photonEneHC7x7);
1124  tree_->Branch("t_eleEneHC7x7", "std::vector<double>", &t_eleEneHC7x7);
1125  tree_->Branch("t_muEneHC7x7", "std::vector<double>", &t_muEneHC7x7);
1126 
1127  tree_->Branch("t_maxNearPR", "std::vector<double>", &t_maxNearPR);
1128  tree_->Branch("t_cHadronEneR", "std::vector<double>", &t_cHadronEneR);
1129  tree_->Branch("t_cHadronEneR_1", "std::vector<double>", &t_cHadronEneR_1);
1130  tree_->Branch("t_cHadronEneR_2", "std::vector<double>", &t_cHadronEneR_2);
1131  tree_->Branch("t_cHadronEneR_3", "std::vector<double>", &t_cHadronEneR_3);
1132  tree_->Branch("t_nHadronEneR", "std::vector<double>", &t_nHadronEneR);
1133  tree_->Branch("t_photonEneR", "std::vector<double>", &t_photonEneR);
1134  tree_->Branch("t_eleEneR", "std::vector<double>", &t_eleEneR);
1135  tree_->Branch("t_muEneR", "std::vector<double>", &t_muEneR);
1136 
1137  tree_->Branch("t_maxNearPIsoR", "std::vector<double>", &t_maxNearPIsoR);
1138  tree_->Branch("t_cHadronEneIsoR", "std::vector<double>", &t_cHadronEneIsoR);
1139  tree_->Branch("t_cHadronEneIsoR_1", "std::vector<double>", &t_cHadronEneIsoR_1);
1140  tree_->Branch("t_cHadronEneIsoR_2", "std::vector<double>", &t_cHadronEneIsoR_2);
1141  tree_->Branch("t_cHadronEneIsoR_3", "std::vector<double>", &t_cHadronEneIsoR_3);
1142  tree_->Branch("t_nHadronEneIsoR", "std::vector<double>", &t_nHadronEneIsoR);
1143  tree_->Branch("t_photonEneIsoR", "std::vector<double>", &t_photonEneIsoR);
1144  tree_->Branch("t_eleEneIsoR", "std::vector<double>", &t_eleEneIsoR);
1145  tree_->Branch("t_muEneIsoR", "std::vector<double>", &t_muEneIsoR);
1146 
1147  tree_->Branch("t_maxNearPHCR", "std::vector<double>", &t_maxNearPHCR);
1148  tree_->Branch("t_cHadronEneHCR", "std::vector<double>", &t_cHadronEneHCR);
1149  tree_->Branch("t_cHadronEneHCR_1", "std::vector<double>", &t_cHadronEneHCR_1);
1150  tree_->Branch("t_cHadronEneHCR_2", "std::vector<double>", &t_cHadronEneHCR_2);
1151  tree_->Branch("t_cHadronEneHCR_3", "std::vector<double>", &t_cHadronEneHCR_3);
1152  tree_->Branch("t_nHadronEneHCR", "std::vector<double>", &t_nHadronEneHCR);
1153  tree_->Branch("t_photonEneHCR", "std::vector<double>", &t_photonEneHCR);
1154  tree_->Branch("t_eleEneHCR", "std::vector<double>", &t_eleEneHCR);
1155  tree_->Branch("t_muEneHCR", "std::vector<double>", &t_muEneHCR);
1156 
1157  tree_->Branch("t_maxNearPIsoHCR", "std::vector<double>", &t_maxNearPIsoHCR);
1158  tree_->Branch("t_cHadronEneIsoHCR", "std::vector<double>", &t_cHadronEneIsoHCR);
1159  tree_->Branch("t_cHadronEneIsoHCR_1", "std::vector<double>", &t_cHadronEneIsoHCR_1);
1160  tree_->Branch("t_cHadronEneIsoHCR_2", "std::vector<double>", &t_cHadronEneIsoHCR_2);
1161  tree_->Branch("t_cHadronEneIsoHCR_3", "std::vector<double>", &t_cHadronEneIsoHCR_3);
1162  tree_->Branch("t_nHadronEneIsoHCR", "std::vector<double>", &t_nHadronEneIsoHCR);
1163  tree_->Branch("t_photonEneIsoHCR", "std::vector<double>", &t_photonEneIsoHCR);
1164  tree_->Branch("t_eleEneIsoHCR", "std::vector<double>", &t_eleEneIsoHCR);
1165  tree_->Branch("t_muEneIsoHCR", "std::vector<double>", &t_muEneIsoHCR);
1166 }
1167 
1169  // t_maxNearP31x31 ->clear();
1170  // t_nEvtProc ->clear();
1171 
1172  t_isoTrkPAll->clear();
1173  t_isoTrkPtAll->clear();
1174  t_isoTrkPhiAll->clear();
1175  t_isoTrkEtaAll->clear();
1176  t_isoTrkDPhiAll->clear();
1177  t_isoTrkDEtaAll->clear();
1178  t_isoTrkPdgIdAll->clear();
1179 
1180  t_isoTrkP->clear();
1181  t_isoTrkPt->clear();
1182  t_isoTrkEne->clear();
1183  t_isoTrkEta->clear();
1184  t_isoTrkPhi->clear();
1185  t_isoTrkEtaEC->clear();
1186  t_isoTrkPhiEC->clear();
1187  t_isoTrkPdgId->clear();
1188 
1189  t_maxNearP31x31->clear();
1190  t_cHadronEne31x31->clear();
1191  t_cHadronEne31x31_1->clear();
1192  t_cHadronEne31x31_2->clear();
1193  t_cHadronEne31x31_3->clear();
1194  t_nHadronEne31x31->clear();
1195  t_photonEne31x31->clear();
1196  t_eleEne31x31->clear();
1197  t_muEne31x31->clear();
1198 
1199  t_maxNearP25x25->clear();
1200  t_cHadronEne25x25->clear();
1201  t_cHadronEne25x25_1->clear();
1202  t_cHadronEne25x25_2->clear();
1203  t_cHadronEne25x25_3->clear();
1204  t_nHadronEne25x25->clear();
1205  t_photonEne25x25->clear();
1206  t_eleEne25x25->clear();
1207  t_muEne25x25->clear();
1208 
1209  t_maxNearP21x21->clear();
1210  t_cHadronEne21x21->clear();
1211  t_cHadronEne21x21_1->clear();
1212  t_cHadronEne21x21_2->clear();
1213  t_cHadronEne21x21_3->clear();
1214  t_nHadronEne21x21->clear();
1215  t_photonEne21x21->clear();
1216  t_eleEne21x21->clear();
1217  t_muEne21x21->clear();
1218 
1219  t_maxNearP15x15->clear();
1220  t_cHadronEne15x15->clear();
1221  t_cHadronEne15x15_1->clear();
1222  t_cHadronEne15x15_2->clear();
1223  t_cHadronEne15x15_3->clear();
1224  t_nHadronEne15x15->clear();
1225  t_photonEne15x15->clear();
1226  t_eleEne15x15->clear();
1227  t_muEne15x15->clear();
1228 
1229  t_maxNearP11x11->clear();
1230  t_cHadronEne11x11->clear();
1231  t_cHadronEne11x11_1->clear();
1232  t_cHadronEne11x11_2->clear();
1233  t_cHadronEne11x11_3->clear();
1234  t_nHadronEne11x11->clear();
1235  t_photonEne11x11->clear();
1236  t_eleEne11x11->clear();
1237  t_muEne11x11->clear();
1238 
1239  t_maxNearP9x9->clear();
1240  t_cHadronEne9x9->clear();
1241  t_cHadronEne9x9_1->clear();
1242  t_cHadronEne9x9_2->clear();
1243  t_cHadronEne9x9_3->clear();
1244  t_nHadronEne9x9->clear();
1245  t_photonEne9x9->clear();
1246  t_eleEne9x9->clear();
1247  t_muEne9x9->clear();
1248 
1249  t_maxNearP7x7->clear();
1250  t_cHadronEne7x7->clear();
1251  t_cHadronEne7x7_1->clear();
1252  t_cHadronEne7x7_2->clear();
1253  t_cHadronEne7x7_3->clear();
1254  t_nHadronEne7x7->clear();
1255  t_photonEne7x7->clear();
1256  t_eleEne7x7->clear();
1257  t_muEne7x7->clear();
1258 
1259  t_maxNearP3x3->clear();
1260  t_cHadronEne3x3->clear();
1261  t_cHadronEne3x3_1->clear();
1262  t_cHadronEne3x3_2->clear();
1263  t_cHadronEne3x3_3->clear();
1264  t_nHadronEne3x3->clear();
1265  t_photonEne3x3->clear();
1266  t_eleEne3x3->clear();
1267  t_muEne3x3->clear();
1268 
1269  t_maxNearP1x1->clear();
1270  t_cHadronEne1x1->clear();
1271  t_cHadronEne1x1_1->clear();
1272  t_cHadronEne1x1_2->clear();
1273  t_cHadronEne1x1_3->clear();
1274  t_nHadronEne1x1->clear();
1275  t_photonEne1x1->clear();
1276  t_eleEne1x1->clear();
1277  t_muEne1x1->clear();
1278 
1279  t_maxNearPHC1x1->clear();
1280  t_cHadronEneHC1x1->clear();
1281  t_cHadronEneHC1x1_1->clear();
1282  t_cHadronEneHC1x1_2->clear();
1283  t_cHadronEneHC1x1_3->clear();
1284  t_nHadronEneHC1x1->clear();
1285  t_photonEneHC1x1->clear();
1286  t_eleEneHC1x1->clear();
1287  t_muEneHC1x1->clear();
1288 
1289  t_maxNearPHC3x3->clear();
1290  t_cHadronEneHC3x3->clear();
1291  t_cHadronEneHC3x3_1->clear();
1292  t_cHadronEneHC3x3_2->clear();
1293  t_cHadronEneHC3x3_3->clear();
1294  t_nHadronEneHC3x3->clear();
1295  t_photonEneHC3x3->clear();
1296  t_eleEneHC3x3->clear();
1297  t_muEneHC3x3->clear();
1298 
1299  t_maxNearPHC5x5->clear();
1300  t_cHadronEneHC5x5->clear();
1301  t_cHadronEneHC5x5_1->clear();
1302  t_cHadronEneHC5x5_2->clear();
1303  t_cHadronEneHC5x5_3->clear();
1304  t_nHadronEneHC5x5->clear();
1305  t_photonEneHC5x5->clear();
1306  t_eleEneHC5x5->clear();
1307  t_muEneHC5x5->clear();
1308 
1309  t_maxNearPHC7x7->clear();
1310  t_cHadronEneHC7x7->clear();
1311  t_cHadronEneHC7x7_1->clear();
1312  t_cHadronEneHC7x7_2->clear();
1313  t_cHadronEneHC7x7_3->clear();
1314  t_nHadronEneHC7x7->clear();
1315  t_photonEneHC7x7->clear();
1316  t_eleEneHC7x7->clear();
1317  t_muEneHC7x7->clear();
1318 
1319  t_maxNearPR->clear();
1320  t_cHadronEneR->clear();
1321  t_cHadronEneR_1->clear();
1322  t_cHadronEneR_2->clear();
1323  t_cHadronEneR_3->clear();
1324  t_nHadronEneR->clear();
1325  t_photonEneR->clear();
1326  t_eleEneR->clear();
1327  t_muEneR->clear();
1328 
1329  t_maxNearPIsoR->clear();
1330  t_cHadronEneIsoR->clear();
1331  t_cHadronEneIsoR_1->clear();
1332  t_cHadronEneIsoR_2->clear();
1333  t_cHadronEneIsoR_3->clear();
1334  t_nHadronEneIsoR->clear();
1335  t_photonEneIsoR->clear();
1336  t_eleEneIsoR->clear();
1337  t_muEneIsoR->clear();
1338 
1339  t_maxNearPHCR->clear();
1340  t_cHadronEneHCR->clear();
1341  t_cHadronEneHCR_1->clear();
1342  t_cHadronEneHCR_2->clear();
1343  t_cHadronEneHCR_3->clear();
1344  t_nHadronEneHCR->clear();
1345  t_photonEneHCR->clear();
1346  t_eleEneHCR->clear();
1347  t_muEneHCR->clear();
1348 
1349  t_maxNearPIsoHCR->clear();
1350  t_cHadronEneIsoHCR->clear();
1351  t_cHadronEneIsoHCR_1->clear();
1352  t_cHadronEneIsoHCR_2->clear();
1353  t_cHadronEneIsoHCR_3->clear();
1354  t_nHadronEneIsoHCR->clear();
1355  t_photonEneIsoHCR->clear();
1356  t_eleEneIsoHCR->clear();
1357  t_muEneIsoHCR->clear();
1358 }
1359 
1361  int partID[Particles] = {11, -11, 21, 211, -211, 321, -321, 2212, 2112, -2212, -2112, 130};
1362  int ix = -1;
1363  for (int ik = 0; ik < Particles; ++ik) {
1364  if (pdgId == partID[ik]) {
1365  ix = ik;
1366  break;
1367  }
1368  }
1369  return ix;
1370 }
1371 
1372 //define this as a plug-in
StudyCaloGen::t_cHadronEne1x1
std::vector< double > * t_cHadronEne1x1
Definition: StudyCaloGen.cc:174
StudyCaloGen::isoinfo25x25
spr::genSimInfo isoinfo25x25
Definition: StudyCaloGen.cc:237
StudyCaloGen::t_cHadronEneHC1x1_3
std::vector< double > * t_cHadronEneHC1x1_3
Definition: StudyCaloGen.cc:181
StudyCaloGen::t_eleEne7x7
std::vector< double > * t_eleEne7x7
Definition: StudyCaloGen.cc:163
StudyCaloGen::t_maxNearP31x31
std::vector< double > * t_maxNearP31x31
Definition: StudyCaloGen.cc:117
StudyCaloGen::t_photonEne3x3
std::vector< double > * t_photonEne3x3
Definition: StudyCaloGen.cc:169
StudyCaloGen::t_isoTrkPAll
std::vector< double > * t_isoTrkPAll
Definition: StudyCaloGen.cc:100
StudyCaloGen::t_nHadronEne15x15
std::vector< double > * t_nHadronEne15x15
Definition: StudyCaloGen.cc:140
StudyCaloGen::t_nHadronEneHC5x5
std::vector< double > * t_nHadronEneHC5x5
Definition: StudyCaloGen.cc:196
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
StudyCaloGen::t_maxNearPHC5x5
std::vector< double > * t_maxNearPHC5x5
Definition: StudyCaloGen.cc:194
electrons_cff.bool
bool
Definition: electrons_cff.py:366
EDAnalyzer.h
StudyCaloGen::etaMax_
double etaMax_
Definition: StudyCaloGen.cc:79
mps_fire.i
i
Definition: mps_fire.py:428
StudyCaloGen::t_nHadronEneHCR
std::vector< double > * t_nHadronEneHCR
Definition: StudyCaloGen.cc:224
StudyCaloGen::t_maxNearP7x7
std::vector< double > * t_maxNearP7x7
Definition: StudyCaloGen.cc:159
StudyCaloGen::t_eleEneHC3x3
std::vector< double > * t_eleEneHC3x3
Definition: StudyCaloGen.cc:191
spr::genSimInfo::eleEne
double eleEne
Definition: GenSimInfo.h:46
FreeTrajectoryState.h
CaloNavigator.h
genParticles2HepMC_cfi.genParticles
genParticles
Definition: genParticles2HepMC_cfi.py:4
StudyCaloGen::t_cHadronEne15x15_3
std::vector< double > * t_cHadronEne15x15_3
Definition: StudyCaloGen.cc:139
StudyCaloGen::t_cHadronEneHC7x7_2
std::vector< double > * t_cHadronEneHC7x7_2
Definition: StudyCaloGen.cc:202
funct::false
false
Definition: Factorize.h:29
StudyCaloGen::t_photonEneIsoHCR
std::vector< double > * t_photonEneIsoHCR
Definition: StudyCaloGen.cc:232
StudyCaloGen::bookHistograms
void bookHistograms()
Definition: StudyCaloGen.cc:766
StudyCaloGen::t_photonEneR
std::vector< double > * t_photonEneR
Definition: StudyCaloGen.cc:211
StudyCaloGen::t_muEne15x15
std::vector< double > * t_muEne15x15
Definition: StudyCaloGen.cc:143
StudyCaloGen::t_cHadronEneR
std::vector< double > * t_cHadronEneR
Definition: StudyCaloGen.cc:209
StudyCaloGen::t_maxNearPHC3x3
std::vector< double > * t_maxNearPHC3x3
Definition: StudyCaloGen.cc:187
StudyCaloGen::t_isoTrkPhiAll
std::vector< double > * t_isoTrkPhiAll
Definition: StudyCaloGen.cc:102
StudyCaloGen::t_eleEneIsoR
std::vector< double > * t_eleEneIsoR
Definition: StudyCaloGen.cc:219
StudyCaloGen::t_photonEne21x21
std::vector< double > * t_photonEne21x21
Definition: StudyCaloGen.cc:134
StudyCaloGen::t_cHadronEneHC7x7_1
std::vector< double > * t_cHadronEneHC7x7_1
Definition: StudyCaloGen.cc:202
StudyCaloGen::t_cHadronEne1x1_1
std::vector< double > * t_cHadronEne1x1_1
Definition: StudyCaloGen.cc:174
StudyCaloGen::t_cHadronEneHC7x7_3
std::vector< double > * t_cHadronEneHC7x7_3
Definition: StudyCaloGen.cc:202
StudyCaloGen::isoinfoHC7x7
spr::genSimInfo isoinfoHC7x7
Definition: StudyCaloGen.cc:238
etaBin
int etaBin(const l1t::HGCalMulticluster *cl)
Definition: L1EGammaEEProducer.cc:19
StudyCaloGen::t_cHadronEne15x15_2
std::vector< double > * t_cHadronEne15x15_2
Definition: StudyCaloGen.cc:139
StudyCaloGen::t_cHadronEne3x3_3
std::vector< double > * t_cHadronEne3x3_3
Definition: StudyCaloGen.cc:167
StudyCaloGen::tok_hepmc_
edm::EDGetTokenT< edm::HepMCProduct > tok_hepmc_
Definition: StudyCaloGen.cc:83
StudyCaloGen::t_eleEneIsoHCR
std::vector< double > * t_eleEneIsoHCR
Definition: StudyCaloGen.cc:233
StudyCaloGen::t_nHadronEneHC3x3
std::vector< double > * t_nHadronEneHC3x3
Definition: StudyCaloGen.cc:189
StudyCaloGen::isoinfoHC1x1
spr::genSimInfo isoinfoHC1x1
Definition: StudyCaloGen.cc:238
StudyCaloGen::t_cHadronEne9x9
std::vector< double > * t_cHadronEne9x9
Definition: StudyCaloGen.cc:153
StudyCaloGen::t_photonEne25x25
std::vector< double > * t_photonEne25x25
Definition: StudyCaloGen.cc:127
GenSimInfo.h
StudyCaloGen::t_cHadronEne11x11
std::vector< double > * t_cHadronEne11x11
Definition: StudyCaloGen.cc:146
StudyCaloGen::t_maxNearPHC1x1
std::vector< double > * t_maxNearPHC1x1
Definition: StudyCaloGen.cc:180
StudyCaloGen::t_cHadronEne9x9_3
std::vector< double > * t_cHadronEne9x9_3
Definition: StudyCaloGen.cc:153
StudyCaloGen::t_muEne3x3
std::vector< double > * t_muEne3x3
Definition: StudyCaloGen.cc:171
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
deltaPhi.h
StudyCaloGen::t_muEne21x21
std::vector< double > * t_muEne21x21
Definition: StudyCaloGen.cc:136
StudyCaloGen::tok_caloTopology_
edm::ESGetToken< CaloTopology, CaloTopologyRecord > tok_caloTopology_
Definition: StudyCaloGen.cc:87
edm::EDGetTokenT< edm::HepMCProduct >
StudyCaloGen::NPBins_
static constexpr int NPBins_
Definition: StudyCaloGen.cc:74
StudyCaloGen::t_photonEneHCR
std::vector< double > * t_photonEneHCR
Definition: StudyCaloGen.cc:225
StudyCaloGen::t_cHadronEneR_3
std::vector< double > * t_cHadronEneR_3
Definition: StudyCaloGen.cc:209
StudyCaloGen::t_cHadronEne11x11_2
std::vector< double > * t_cHadronEne11x11_2
Definition: StudyCaloGen.cc:146
HcalTopology
Definition: HcalTopology.h:26
StudyCaloGen::isoinfo3x3
spr::genSimInfo isoinfo3x3
Definition: StudyCaloGen.cc:236
EBDetId.h
EEDetId.h
StudyCaloGen::verbosity_
int verbosity_
Definition: StudyCaloGen.cc:94
StudyCaloGen::t_nHadronEne9x9
std::vector< double > * t_nHadronEne9x9
Definition: StudyCaloGen.cc:154
StudyCaloGen::t_nHadronEne25x25
std::vector< double > * t_nHadronEne25x25
Definition: StudyCaloGen.cc:126
StudyCaloGen::t_cHadronEneIsoR
std::vector< double > * t_cHadronEneIsoR
Definition: StudyCaloGen.cc:216
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
StudyCaloGen::isoinfoHC5x5
spr::genSimInfo isoinfoHC5x5
Definition: StudyCaloGen.cc:238
StudyCaloGen::t_eleEne15x15
std::vector< double > * t_eleEne15x15
Definition: StudyCaloGen.cc:142
StudyCaloGen::h_NEventProc
TH1I * h_NEventProc
Definition: StudyCaloGen.cc:96
StudyCaloGen::tok_pdt_
edm::ESGetToken< HepPDT::ParticleDataTable, PDTRecord > tok_pdt_
Definition: StudyCaloGen.cc:90
StudyCaloGen::endJob
void endJob() override
Definition: StudyCaloGen.cc:65
StudyCaloGen::StudyCaloGen
StudyCaloGen(const edm::ParameterSet &)
Definition: StudyCaloGen.cc:242
StudyCaloGen::t_cHadronEne25x25_2
std::vector< double > * t_cHadronEne25x25_2
Definition: StudyCaloGen.cc:125
StudyCaloGen::t_isoTrkPt
std::vector< double > * t_isoTrkPt
Definition: StudyCaloGen.cc:109
StudyCaloGen::a_neutIsoR_
double a_neutIsoR_
Definition: StudyCaloGen.cc:93
StudyCaloGen::isoinfo1x1
spr::genSimInfo isoinfo1x1
Definition: StudyCaloGen.cc:236
StudyCaloGen::particleCode
int particleCode(int)
Definition: StudyCaloGen.cc:1360
StudyCaloGen::t_nHadronEne1x1
std::vector< double > * t_nHadronEne1x1
Definition: StudyCaloGen.cc:175
StudyCaloGen::t_cHadronEne25x25_3
std::vector< double > * t_cHadronEne25x25_3
Definition: StudyCaloGen.cc:125
TFileDirectory
Definition: TFileDirectory.h:24
StudyCaloGen::t_isoTrkEtaAll
std::vector< double > * t_isoTrkEtaAll
Definition: StudyCaloGen.cc:103
StudyCaloGen::t_eleEne1x1
std::vector< double > * t_eleEne1x1
Definition: StudyCaloGen.cc:177
StudyCaloGen::t_cHadronEne3x3_2
std::vector< double > * t_cHadronEne3x3_2
Definition: StudyCaloGen.cc:167
edm::one::EDAnalyzer
Definition: EDAnalyzer.h:30
StudyCaloGen::t_cHadronEne21x21_2
std::vector< double > * t_cHadronEne21x21_2
Definition: StudyCaloGen.cc:132
StudyCaloGen::t_isoTrkPdgId
std::vector< double > * t_isoTrkPdgId
Definition: StudyCaloGen.cc:115
StudyCaloGen::h_pEta
TH2D * h_pEta[Particles]
Definition: StudyCaloGen.cc:97
StudyCaloGen::t_cHadronEne25x25
std::vector< double > * t_cHadronEne25x25
Definition: StudyCaloGen.cc:125
StudyCaloGen::t_photonEneHC5x5
std::vector< double > * t_photonEneHC5x5
Definition: StudyCaloGen.cc:197
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
edm::Handle< edm::HepMCProduct >
StudyCaloGen::isoinfoHCR
spr::genSimInfo isoinfoHCR
Definition: StudyCaloGen.cc:239
StudyCaloGen::t_cHadronEneHCR_2
std::vector< double > * t_cHadronEneHCR_2
Definition: StudyCaloGen.cc:223
CaloTopology
Definition: CaloTopology.h:19
StudyCaloGen::t_cHadronEne7x7_1
std::vector< double > * t_cHadronEne7x7_1
Definition: StudyCaloGen.cc:160
StudyCaloGen::t_cHadronEne21x21
std::vector< double > * t_cHadronEne21x21
Definition: StudyCaloGen.cc:132
StudyCaloGen
Definition: StudyCaloGen.cc:56
StudyCaloGen::t_isoTrkPhi
std::vector< double > * t_isoTrkPhi
Definition: StudyCaloGen.cc:112
StudyCaloGen::t_cHadronEneHCR_3
std::vector< double > * t_cHadronEneHCR_3
Definition: StudyCaloGen.cc:223
StudyCaloGen::isoinfoIsoHCR
spr::genSimInfo isoinfoIsoHCR
Definition: StudyCaloGen.cc:239
StudyCaloGen::isoinfo9x9
spr::genSimInfo isoinfo9x9
Definition: StudyCaloGen.cc:236
StudyCaloGen::isoinfo21x21
spr::genSimInfo isoinfo21x21
Definition: StudyCaloGen.cc:237
StudyCaloGen::t_cHadronEne21x21_1
std::vector< double > * t_cHadronEne21x21_1
Definition: StudyCaloGen.cc:132
StudyCaloGen::t_cHadronEneHC1x1_2
std::vector< double > * t_cHadronEneHC1x1_2
Definition: StudyCaloGen.cc:181
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
StudyCaloGen::t_isoTrkEne
std::vector< double > * t_isoTrkEne
Definition: StudyCaloGen.cc:110
StudyCaloGen::beginJob
void beginJob() override
Definition: StudyCaloGen.cc:546
StudyCaloGen::t_cHadronEne11x11_3
std::vector< double > * t_cHadronEne11x11_3
Definition: StudyCaloGen.cc:146
StudyCaloGen::t_cHadronEneHC5x5_2
std::vector< double > * t_cHadronEneHC5x5_2
Definition: StudyCaloGen.cc:195
StudyCaloGen::t_eleEneHC7x7
std::vector< double > * t_eleEneHC7x7
Definition: StudyCaloGen.cc:205
StudyCaloGen::t_muEneR
std::vector< double > * t_muEneR
Definition: StudyCaloGen.cc:213
StudyCaloGen::t_photonEneHC7x7
std::vector< double > * t_photonEneHC7x7
Definition: StudyCaloGen.cc:204
StudyCaloGen::tok_genParticles_
edm::EDGetTokenT< reco::GenParticleCollection > tok_genParticles_
Definition: StudyCaloGen.cc:84
accept
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:31
MakerMacros.h
StudyCaloGen::fillTrack
void fillTrack(GlobalPoint &posVec, math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId, bool okECAL, bool accpet)
Definition: StudyCaloGen.cc:560
StudyCaloGen::t_eleEneHC1x1
std::vector< double > * t_eleEneHC1x1
Definition: StudyCaloGen.cc:184
CaloGeometry
Definition: CaloGeometry.h:21
StudyCaloGen::t_cHadronEne25x25_1
std::vector< double > * t_cHadronEne25x25_1
Definition: StudyCaloGen.cc:125
StudyCaloGen::t_photonEne15x15
std::vector< double > * t_photonEne15x15
Definition: StudyCaloGen.cc:141
StudyCaloGen::t_cHadronEne1x1_3
std::vector< double > * t_cHadronEne1x1_3
Definition: StudyCaloGen.cc:174
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
StudyCaloGen::t_nHadronEne21x21
std::vector< double > * t_nHadronEne21x21
Definition: StudyCaloGen.cc:133
StudyCaloGen::t_cHadronEneIsoHCR_2
std::vector< double > * t_cHadronEneIsoHCR_2
Definition: StudyCaloGen.cc:230
StudyCaloGen::t_muEne25x25
std::vector< double > * t_muEne25x25
Definition: StudyCaloGen.cc:129
Service.h
StudyCaloGen::t_eleEne21x21
std::vector< double > * t_eleEne21x21
Definition: StudyCaloGen.cc:135
PVValHelper::eta
Definition: PVValidationHelpers.h:70
spr::genSimInfo::muEne
double muEne
Definition: GenSimInfo.h:46
ChargeIsolation.h
StudyCaloGen::t_cHadronEneHC3x3
std::vector< double > * t_cHadronEneHC3x3
Definition: StudyCaloGen.cc:188
GloballyPositioned.h
StudyCaloGen::tok_geom_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
Definition: StudyCaloGen.cc:86
StudyCaloGen::t_maxNearPHC7x7
std::vector< double > * t_maxNearPHC7x7
Definition: StudyCaloGen.cc:201
StudyCaloGen::t_cHadronEne9x9_1
std::vector< double > * t_cHadronEne9x9_1
Definition: StudyCaloGen.cc:153
IdealMagneticFieldRecord.h
StudyCaloGen::t_photonEneIsoR
std::vector< double > * t_photonEneIsoR
Definition: StudyCaloGen.cc:218
StudyCaloGen::t_cHadronEne7x7_2
std::vector< double > * t_cHadronEne7x7_2
Definition: StudyCaloGen.cc:160
StudyCaloGen::t_cHadronEneHCR
std::vector< double > * t_cHadronEneHCR
Definition: StudyCaloGen.cc:223
StudyCaloGen::t_cHadronEne21x21_3
std::vector< double > * t_cHadronEne21x21_3
Definition: StudyCaloGen.cc:132
StudyCaloGen::isoinfo15x15
spr::genSimInfo isoinfo15x15
Definition: StudyCaloGen.cc:237
L1TDiffHarvesting_cfi.dir1
dir1
Definition: L1TDiffHarvesting_cfi.py:10
StudyCaloGen::isoinfo7x7
spr::genSimInfo isoinfo7x7
Definition: StudyCaloGen.cc:236
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
Point3DBase< float, GlobalTag >
StudyCaloGen::tok_topo_
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > tok_topo_
Definition: StudyCaloGen.cc:88
StudyCaloGen::t_maxNearPHCR
std::vector< double > * t_maxNearPHCR
Definition: StudyCaloGen.cc:222
StudyCaloGen::t_maxNearP3x3
std::vector< double > * t_maxNearP3x3
Definition: StudyCaloGen.cc:166
StudyCaloGen::pCutIsolate_
double pCutIsolate_
Definition: StudyCaloGen.cc:79
StudyCaloGen::a_coneR_
double a_coneR_
Definition: StudyCaloGen.cc:93
muonRecoAnalyzer_cfi.pBin
pBin
Definition: muonRecoAnalyzer_cfi.py:37
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
StudyCaloGen::t_maxNearP21x21
std::vector< double > * t_maxNearP21x21
Definition: StudyCaloGen.cc:131
StudyCaloGen::t_photonEne7x7
std::vector< double > * t_photonEne7x7
Definition: StudyCaloGen.cc:162
spr::hGenSimInfo
void hGenSimInfo(const DetId &coreDet, HepMC::GenEvent::particle_const_iterator trkItr, std::vector< spr::propagatedGenTrackID > &trackIds, const HcalTopology *topology, int ieta, int iphi, spr::genSimInfo &info, bool includeHO=false, bool debug=false)
Definition: GenSimInfo.cc:101
TFileService.h
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
TFileService::mkdir
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
Definition: TFileService.h:69
StudyCaloGen::t_maxNearP25x25
std::vector< double > * t_maxNearP25x25
Definition: StudyCaloGen.cc:124
StudyCaloGen::t_isoTrkPtAll
std::vector< double > * t_isoTrkPtAll
Definition: StudyCaloGen.cc:101
CaloSubdetectorGeometry.h
StudyCaloGen::t_maxNearP9x9
std::vector< double > * t_maxNearP9x9
Definition: StudyCaloGen.cc:152
edm::ParameterSet
Definition: ParameterSet.h:47
StudyCaloGen::EtaBins_
static constexpr int EtaBins_
Definition: StudyCaloGen.cc:76
spr::eGenSimInfo
void eGenSimInfo(const DetId &coreDet, HepMC::GenEvent::particle_const_iterator trkItr, std::vector< spr::propagatedGenTrackID > &trackIds, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, spr::genSimInfo &info, bool debug=false)
Definition: GenSimInfo.cc:13
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
Event.h
ParticleDataTable.h
StudyCaloGen::t_muEneHC5x5
std::vector< double > * t_muEneHC5x5
Definition: StudyCaloGen.cc:199
StudyCaloGen::t_eleEne25x25
std::vector< double > * t_eleEne25x25
Definition: StudyCaloGen.cc:128
StudyCaloGen::t_photonEneHC1x1
std::vector< double > * t_photonEneHC1x1
Definition: StudyCaloGen.cc:183
StudyCaloGen::t_cHadronEneHC1x1_1
std::vector< double > * t_cHadronEneHC1x1_1
Definition: StudyCaloGen.cc:181
StudyCaloGen::t_muEneHCR
std::vector< double > * t_muEneHCR
Definition: StudyCaloGen.cc:227
StudyCaloGen::NEtaBins_
static constexpr int NEtaBins_
Definition: StudyCaloGen.cc:75
spr::genSimInfo::nHadronEne
double nHadronEne
Definition: GenSimInfo.h:46
HcalDetId.h
StudyCaloGen::t_cHadronEneHC3x3_1
std::vector< double > * t_cHadronEneHC3x3_1
Definition: StudyCaloGen.cc:188
StudyCaloGen::clearTreeVectors
void clearTreeVectors()
Definition: StudyCaloGen.cc:1168
StudyCaloGen::t_cHadronEne31x31_3
std::vector< double > * t_cHadronEne31x31_3
Definition: StudyCaloGen.cc:118
StudyCaloGen::t_cHadronEne11x11_1
std::vector< double > * t_cHadronEne11x11_1
Definition: StudyCaloGen.cc:146
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
StudyCaloGen::t_cHadronEneIsoR_3
std::vector< double > * t_cHadronEneIsoR_3
Definition: StudyCaloGen.cc:216
LorentzVector.h
edm::Service< TFileService >
createfilelist.int
int
Definition: createfilelist.py:10
StudyCaloGen::isoinfoIsoR
spr::genSimInfo isoinfoIsoR
Definition: StudyCaloGen.cc:239
StudyCaloGen::a_charIsoR_
double a_charIsoR_
Definition: StudyCaloGen.cc:93
iEvent
int iEvent
Definition: GenABIO.cc:224
StudyCaloGen::isoinfoHC3x3
spr::genSimInfo isoinfoHC3x3
Definition: StudyCaloGen.cc:238
StudyCaloGen::t_eleEne3x3
std::vector< double > * t_eleEne3x3
Definition: StudyCaloGen.cc:170
StudyCaloGen::t_isoTrkP
std::vector< double > * t_isoTrkP
Definition: StudyCaloGen.cc:108
StudyCaloGen::t_eleEneHCR
std::vector< double > * t_eleEneHCR
Definition: StudyCaloGen.cc:226
StudyCaloGen::t_eleEneR
std::vector< double > * t_eleEneR
Definition: StudyCaloGen.cc:212
StudyCaloGen::tree_
TTree * tree_
Definition: StudyCaloGen.cc:98
StudyCaloGen::t_photonEne9x9
std::vector< double > * t_photonEne9x9
Definition: StudyCaloGen.cc:155
EgammaValidation_cff.pdgId
pdgId
Definition: EgammaValidation_cff.py:117
StudyCaloGen::t_maxNearP11x11
std::vector< double > * t_maxNearP11x11
Definition: StudyCaloGen.cc:145
StudyCaloGen::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: StudyCaloGen.cc:293
MagneticField.h
edm::EventSetup
Definition: EventSetup.h:58
spr::genSimInfo
Definition: GenSimInfo.h:37
TrackAssociatorRecord.h
StudyCaloGen::t_maxNearPIsoHCR
std::vector< double > * t_maxNearPIsoHCR
Definition: StudyCaloGen.cc:229
edm::HepMCProduct::GetEvent
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:37
StudyCaloGen::genSrc_
std::string genSrc_
Definition: StudyCaloGen.cc:81
spr::genSimInfo::cHadronEne
double cHadronEne
Definition: GenSimInfo.h:46
StudyCaloGen::t_nHadronEneIsoHCR
std::vector< double > * t_nHadronEneIsoHCR
Definition: StudyCaloGen.cc:231
StudyCaloGen::isoinfoR
spr::genSimInfo isoinfoR
Definition: StudyCaloGen.cc:239
StudyCaloGen::t_cHadronEneR_2
std::vector< double > * t_cHadronEneR_2
Definition: StudyCaloGen.cc:209
StudyCaloGen::t_cHadronEneHCR_1
std::vector< double > * t_cHadronEneHCR_1
Definition: StudyCaloGen.cc:223
StudyCaloGen::t_isoTrkPhiEC
std::vector< double > * t_isoTrkPhiEC
Definition: StudyCaloGen.cc:114
TFileService::make
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
edm::ESGetToken< CaloGeometry, CaloGeometryRecord >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
StudyCaloGen::t_cHadronEneHC3x3_2
std::vector< double > * t_cHadronEneHC3x3_2
Definition: StudyCaloGen.cc:188
StudyCaloGen::t_eleEneHC5x5
std::vector< double > * t_eleEneHC5x5
Definition: StudyCaloGen.cc:198
StudyCaloGen::t_cHadronEne31x31_1
std::vector< double > * t_cHadronEne31x31_1
Definition: StudyCaloGen.cc:118
StudyCaloGen::t_cHadronEneR_1
std::vector< double > * t_cHadronEneR_1
Definition: StudyCaloGen.cc:209
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
CaloTopology.h
StudyCaloGen::t_isoTrkDPhiAll
std::vector< double > * t_isoTrkDPhiAll
Definition: StudyCaloGen.cc:106
StudyCaloGen::t_cHadronEneHC5x5_3
std::vector< double > * t_cHadronEneHC5x5_3
Definition: StudyCaloGen.cc:195
StudyCaloGen::t_cHadronEne9x9_2
std::vector< double > * t_cHadronEne9x9_2
Definition: StudyCaloGen.cc:153
spr::propagateCALO
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
Definition: CaloPropagateTrack.cc:141
DDAxes::phi
StudyCaloGen::t_maxNearP15x15
std::vector< double > * t_maxNearP15x15
Definition: StudyCaloGen.cc:138
CaloSubdetectorTopology.h
StudyCaloGen::t_isoTrkEtaEC
std::vector< double > * t_isoTrkEtaEC
Definition: StudyCaloGen.cc:113
StudyCaloGen::t_nHadronEne11x11
std::vector< double > * t_nHadronEne11x11
Definition: StudyCaloGen.cc:147
StudyCaloGen::t_muEneIsoHCR
std::vector< double > * t_muEneIsoHCR
Definition: StudyCaloGen.cc:234
CaloTopologyRecord.h
StudyCaloGen::nEventProc
int nEventProc
Definition: StudyCaloGen.cc:77
StudyCaloGen::ptMin_
double ptMin_
Definition: StudyCaloGen.cc:79
HcalTopology.h
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
StudyCaloGen::t_cHadronEneHC5x5
std::vector< double > * t_cHadronEneHC5x5
Definition: StudyCaloGen.cc:195
std
Definition: JetResolutionObject.h:76
StudyCaloGen::t_cHadronEne3x3_1
std::vector< double > * t_cHadronEne3x3_1
Definition: StudyCaloGen.cc:167
StudyCaloGen::t_muEne9x9
std::vector< double > * t_muEne9x9
Definition: StudyCaloGen.cc:157
StudyCaloGen::t_cHadronEneHC3x3_3
std::vector< double > * t_cHadronEneHC3x3_3
Definition: StudyCaloGen.cc:188
StudyCaloGen::t_cHadronEneIsoHCR_3
std::vector< double > * t_cHadronEneIsoHCR_3
Definition: StudyCaloGen.cc:230
Calorimetry_cff.bField
bField
Definition: Calorimetry_cff.py:284
StudyCaloGen::t_muEne31x31
std::vector< double > * t_muEne31x31
Definition: StudyCaloGen.cc:122
spr::genSimInfo::maxNearP
double maxNearP
Definition: GenSimInfo.h:45
DetId.h
Frameworkfwd.h
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
CaloPropagateTrack.h
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
StudyCaloGen::t_maxNearPR
std::vector< double > * t_maxNearPR
Definition: StudyCaloGen.cc:208
StudyCaloGen::t_muEne1x1
std::vector< double > * t_muEne1x1
Definition: StudyCaloGen.cc:178
CaloGeometry.h
TFileService::kSharedResource
static const std::string kSharedResource
Definition: TFileService.h:76
StudyCaloGen::a_Isolation_
bool a_Isolation_
Definition: StudyCaloGen.cc:80
StudyCaloGen::isoinfo11x11
spr::genSimInfo isoinfo11x11
Definition: StudyCaloGen.cc:236
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
EventSetup.h
StudyCaloGen::t_muEneHC7x7
std::vector< double > * t_muEneHC7x7
Definition: StudyCaloGen.cc:206
StudyCaloGen::genPartEtaBins_
double genPartEtaBins_[NEtaBins_+1]
Definition: StudyCaloGen.cc:78
StudyCaloGen::t_muEneHC1x1
std::vector< double > * t_muEneHC1x1
Definition: StudyCaloGen.cc:185
StudyCaloGen::t_cHadronEneIsoHCR_1
std::vector< double > * t_cHadronEneIsoHCR_1
Definition: StudyCaloGen.cc:230
spr::genSimInfo::cHadronEne_
double cHadronEne_[3]
Definition: GenSimInfo.h:48
StudyCaloGen::t_cHadronEne7x7
std::vector< double > * t_cHadronEne7x7
Definition: StudyCaloGen.cc:160
StudyCaloGen::useHepMC_
bool useHepMC_
Definition: StudyCaloGen.cc:92
spr::genSimInfo::photonEne
double photonEne
Definition: GenSimInfo.h:46
StudyCaloGen::t_cHadronEneHC1x1
std::vector< double > * t_cHadronEneHC1x1
Definition: StudyCaloGen.cc:181
StudyCaloGen::t_photonEne1x1
std::vector< double > * t_photonEne1x1
Definition: StudyCaloGen.cc:176
StudyCaloGen::t_maxNearPIsoR
std::vector< double > * t_maxNearPIsoR
Definition: StudyCaloGen.cc:215
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
StudyCaloGen::PBins_
static constexpr int PBins_
Definition: StudyCaloGen.cc:76
StudyCaloGen::t_photonEne31x31
std::vector< double > * t_photonEne31x31
Definition: StudyCaloGen.cc:120
StudyCaloGen::t_nHadronEne3x3
std::vector< double > * t_nHadronEne3x3
Definition: StudyCaloGen.cc:168
StudyCaloGen::t_eleEne9x9
std::vector< double > * t_eleEne9x9
Definition: StudyCaloGen.cc:156
ParameterSet.h
StudyCaloGen::t_muEneIsoR
std::vector< double > * t_muEneIsoR
Definition: StudyCaloGen.cc:220
createTree.pp
pp
Definition: createTree.py:17
HepMCProduct.h
StudyCaloGen::fillIsolatedTrack
void fillIsolatedTrack(math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId)
Definition: StudyCaloGen.cc:585
StudyCaloGen::Particles
static constexpr int Particles
Definition: StudyCaloGen.cc:76
StudyCaloGen::t_nHadronEne31x31
std::vector< double > * t_nHadronEne31x31
Definition: StudyCaloGen.cc:119
StudyCaloGen::t_cHadronEneIsoR_2
std::vector< double > * t_cHadronEneIsoR_2
Definition: StudyCaloGen.cc:216
StudyCaloGen::t_cHadronEne15x15_1
std::vector< double > * t_cHadronEne15x15_1
Definition: StudyCaloGen.cc:139
StudyCaloGen::t_cHadronEne31x31_2
std::vector< double > * t_cHadronEne31x31_2
Definition: StudyCaloGen.cc:118
StudyCaloGen::genPartPBins_
double genPartPBins_[NPBins_+1]
Definition: StudyCaloGen.cc:78
StudyCaloGen::t_nHadronEneHC7x7
std::vector< double > * t_nHadronEneHC7x7
Definition: StudyCaloGen.cc:203
StudyCaloGen::t_muEne7x7
std::vector< double > * t_muEne7x7
Definition: StudyCaloGen.cc:164
edm::Event
Definition: Event.h:73
StudyCaloGen::isoinfo31x31
spr::genSimInfo isoinfo31x31
Definition: StudyCaloGen.cc:237
StudyCaloGen::t_cHadronEne15x15
std::vector< double > * t_cHadronEne15x15
Definition: StudyCaloGen.cc:139
StudyCaloGen::a_mipR_
double a_mipR_
Definition: StudyCaloGen.cc:93
StudyCaloGen::t_isoTrkPdgIdAll
std::vector< double > * t_isoTrkPdgIdAll
Definition: StudyCaloGen.cc:104
MagneticField
Definition: MagneticField.h:19
StudyCaloGen::t_isoTrkEta
std::vector< double > * t_isoTrkEta
Definition: StudyCaloGen.cc:111
StudyCaloGen::t_nHadronEneIsoR
std::vector< double > * t_nHadronEneIsoR
Definition: StudyCaloGen.cc:217
dttmaxenums::R
Definition: DTTMax.h:29
StudyCaloGen::t_nHadronEne7x7
std::vector< double > * t_nHadronEne7x7
Definition: StudyCaloGen.cc:161
StudyCaloGen::t_cHadronEneHC7x7
std::vector< double > * t_cHadronEneHC7x7
Definition: StudyCaloGen.cc:202
StudyCaloGen::t_muEne11x11
std::vector< double > * t_muEne11x11
Definition: StudyCaloGen.cc:150
StudyCaloGen::t_cHadronEne1x1_2
std::vector< double > * t_cHadronEne1x1_2
Definition: StudyCaloGen.cc:174
StudyCaloGen::t_photonEne11x11
std::vector< double > * t_photonEne11x11
Definition: StudyCaloGen.cc:148
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition: ParticleDataTable.h:8
StudyCaloGen::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: StudyCaloGen.cc:278
edm::InputTag
Definition: InputTag.h:15
StudyCaloGen::t_nHadronEneR
std::vector< double > * t_nHadronEneR
Definition: StudyCaloGen.cc:210
StudyCaloGen::t_cHadronEne7x7_3
std::vector< double > * t_cHadronEne7x7_3
Definition: StudyCaloGen.cc:160
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
StudyCaloGen::t_nHadronEneHC1x1
std::vector< double > * t_nHadronEneHC1x1
Definition: StudyCaloGen.cc:182
StudyCaloGen::t_photonEneHC3x3
std::vector< double > * t_photonEneHC3x3
Definition: StudyCaloGen.cc:190
StudyCaloGen::t_eleEne31x31
std::vector< double > * t_eleEne31x31
Definition: StudyCaloGen.cc:121
StudyCaloGen::t_isoTrkDEtaAll
std::vector< double > * t_isoTrkDEtaAll
Definition: StudyCaloGen.cc:105
StudyCaloGen::t_maxNearP1x1
std::vector< double > * t_maxNearP1x1
Definition: StudyCaloGen.cc:173
StudyCaloGen::t_cHadronEneIsoHCR
std::vector< double > * t_cHadronEneIsoHCR
Definition: StudyCaloGen.cc:230
StudyCaloGen::t_muEneHC3x3
std::vector< double > * t_muEneHC3x3
Definition: StudyCaloGen.cc:192
StudyCaloGen::t_cHadronEne31x31
std::vector< double > * t_cHadronEne31x31
Definition: StudyCaloGen.cc:118
StudyCaloGen::tok_magField_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tok_magField_
Definition: StudyCaloGen.cc:89
StudyCaloGen::t_cHadronEneHC5x5_1
std::vector< double > * t_cHadronEneHC5x5_1
Definition: StudyCaloGen.cc:195
StudyCaloGen::t_cHadronEneIsoR_1
std::vector< double > * t_cHadronEneIsoR_1
Definition: StudyCaloGen.cc:216
StudyCaloGen::t_eleEne11x11
std::vector< double > * t_eleEne11x11
Definition: StudyCaloGen.cc:149
StudyCaloGen::t_cHadronEne3x3
std::vector< double > * t_cHadronEne3x3
Definition: StudyCaloGen.cc:167