CMS 3D CMS Logo

IsolatedGenParticles.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: IsolatedGenParticles
4 // Class: IsolatedGenParticles
5 //
13 //
14 // Original Author: Seema Sharma
15 // Created: Tue Oct 27 09:46:41 CDT 2009
16 //
17 //
18 
22 
25 
33 //L1 objects
46 
48 
56 //TFile Service
59 
66 
69 
71 
75 // track associator
77 
78 // root objects
79 #include "TROOT.h"
80 #include "TSystem.h"
81 #include "TFile.h"
82 #include "TH1I.h"
83 #include "TH2D.h"
84 #include "TProfile.h"
85 #include "TDirectory.h"
86 #include "TTree.h"
87 
88 #include <cmath>
89 #include <iostream>
90 #include <iomanip>
91 #include <list>
92 #include <vector>
93 
94 namespace {
95  class ParticlePtGreater {
96  public:
97  int operator()(const HepMC::GenParticle *p1, const HepMC::GenParticle *p2) const {
98  return p1->momentum().perp() > p2->momentum().perp();
99  }
100  };
101 
102  class ParticlePGreater {
103  public:
104  int operator()(const HepMC::GenParticle *p1, const HepMC::GenParticle *p2) const {
105  return p1->momentum().rho() > p2->momentum().rho();
106  }
107  };
108 } // namespace
109 
110 class IsolatedGenParticles : public edm::one::EDAnalyzer<edm::one::SharedResources> {
111 public:
112  explicit IsolatedGenParticles(const edm::ParameterSet &);
113  ~IsolatedGenParticles() override {}
114 
115  static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
116 
117 private:
118  void beginJob() override;
119  void analyze(const edm::Event &, const edm::EventSetup &) override;
120  void endJob() override {}
121 
122  double deltaPhi(double v1, double v2);
123  double deltaR(double eta1, double phi1, double eta2, double phi2);
124  double deltaR2(double eta1, double phi1, double eta2, double phi2);
125 
126  void fillTrack(
127  GlobalPoint &posVec, math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId, bool okECAL, bool accpet);
128  void fillIsolatedTrack(math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId);
129  void bookHistograms();
130  void clearTreeVectors();
131  int particleCode(int);
132 
133  static constexpr int NPBins_ = 3;
134  static constexpr int NEtaBins_ = 4;
135  static constexpr int PBins_ = 32, EtaBins_ = 60, Particles = 12;
141 
144 
146  static const size_t nL1BitsMax_ = 128;
151 
160 
164 
165  TTree *tree_;
166 
167  std::vector<double> *t_isoTrkPAll;
168  std::vector<double> *t_isoTrkPtAll;
169  std::vector<double> *t_isoTrkPhiAll;
170  std::vector<double> *t_isoTrkEtaAll;
171  std::vector<double> *t_isoTrkPdgIdAll;
172  std::vector<double> *t_isoTrkDEtaAll;
173  std::vector<double> *t_isoTrkDPhiAll;
174 
175  std::vector<double> *t_isoTrkP;
176  std::vector<double> *t_isoTrkPt;
177  std::vector<double> *t_isoTrkEne;
178  std::vector<double> *t_isoTrkEta;
179  std::vector<double> *t_isoTrkPhi;
180  std::vector<double> *t_isoTrkEtaEC;
181  std::vector<double> *t_isoTrkPhiEC;
182  std::vector<double> *t_isoTrkPdgId;
183 
184  std::vector<double> *t_maxNearP31x31;
186  std::vector<double> *t_nHadronEne31x31;
187  std::vector<double> *t_photonEne31x31;
188  std::vector<double> *t_eleEne31x31;
189  std::vector<double> *t_muEne31x31;
190 
191  std::vector<double> *t_maxNearP25x25;
193  std::vector<double> *t_nHadronEne25x25;
194  std::vector<double> *t_photonEne25x25;
195  std::vector<double> *t_eleEne25x25;
196  std::vector<double> *t_muEne25x25;
197 
198  std::vector<double> *t_maxNearP21x21;
200  std::vector<double> *t_nHadronEne21x21;
201  std::vector<double> *t_photonEne21x21;
202  std::vector<double> *t_eleEne21x21;
203  std::vector<double> *t_muEne21x21;
204 
205  std::vector<double> *t_maxNearP15x15;
207  std::vector<double> *t_nHadronEne15x15;
208  std::vector<double> *t_photonEne15x15;
209  std::vector<double> *t_eleEne15x15;
210  std::vector<double> *t_muEne15x15;
211 
212  std::vector<double> *t_maxNearP11x11;
214  std::vector<double> *t_nHadronEne11x11;
215  std::vector<double> *t_photonEne11x11;
216  std::vector<double> *t_eleEne11x11;
217  std::vector<double> *t_muEne11x11;
218 
219  std::vector<double> *t_maxNearP9x9;
221  std::vector<double> *t_nHadronEne9x9;
222  std::vector<double> *t_photonEne9x9;
223  std::vector<double> *t_eleEne9x9;
224  std::vector<double> *t_muEne9x9;
225 
226  std::vector<double> *t_maxNearP7x7;
228  std::vector<double> *t_nHadronEne7x7;
229  std::vector<double> *t_photonEne7x7;
230  std::vector<double> *t_eleEne7x7;
231  std::vector<double> *t_muEne7x7;
232 
233  std::vector<double> *t_maxNearP3x3;
235  std::vector<double> *t_nHadronEne3x3;
236  std::vector<double> *t_photonEne3x3;
237  std::vector<double> *t_eleEne3x3;
238  std::vector<double> *t_muEne3x3;
239 
240  std::vector<double> *t_maxNearP1x1;
242  std::vector<double> *t_nHadronEne1x1;
243  std::vector<double> *t_photonEne1x1;
244  std::vector<double> *t_eleEne1x1;
245  std::vector<double> *t_muEne1x1;
246 
247  std::vector<double> *t_maxNearPHC1x1;
249  std::vector<double> *t_nHadronEneHC1x1;
250  std::vector<double> *t_photonEneHC1x1;
251  std::vector<double> *t_eleEneHC1x1;
252  std::vector<double> *t_muEneHC1x1;
253 
254  std::vector<double> *t_maxNearPHC3x3;
256  std::vector<double> *t_nHadronEneHC3x3;
257  std::vector<double> *t_photonEneHC3x3;
258  std::vector<double> *t_eleEneHC3x3;
259  std::vector<double> *t_muEneHC3x3;
260 
261  std::vector<double> *t_maxNearPHC5x5;
263  std::vector<double> *t_nHadronEneHC5x5;
264  std::vector<double> *t_photonEneHC5x5;
265  std::vector<double> *t_eleEneHC5x5;
266  std::vector<double> *t_muEneHC5x5;
267 
268  std::vector<double> *t_maxNearPHC7x7;
270  std::vector<double> *t_nHadronEneHC7x7;
271  std::vector<double> *t_photonEneHC7x7;
272  std::vector<double> *t_eleEneHC7x7;
273  std::vector<double> *t_muEneHC7x7;
274 
275  std::vector<double> *t_maxNearPR;
277  std::vector<double> *t_nHadronEneR;
278  std::vector<double> *t_photonEneR;
279  std::vector<double> *t_eleEneR;
280  std::vector<double> *t_muEneR;
281 
282  std::vector<double> *t_maxNearPIsoR;
284  std::vector<double> *t_nHadronEneIsoR;
285  std::vector<double> *t_photonEneIsoR;
286  std::vector<double> *t_eleEneIsoR;
287  std::vector<double> *t_muEneIsoR;
288 
289  std::vector<double> *t_maxNearPHCR;
291  std::vector<double> *t_nHadronEneHCR;
292  std::vector<double> *t_photonEneHCR;
293  std::vector<double> *t_eleEneHCR;
294  std::vector<double> *t_muEneHCR;
295 
296  std::vector<double> *t_maxNearPIsoHCR;
298  std::vector<double> *t_nHadronEneIsoHCR;
299  std::vector<double> *t_photonEneIsoHCR;
300  std::vector<double> *t_eleEneIsoHCR;
301  std::vector<double> *t_muEneIsoHCR;
302 
303  std::vector<int> *t_L1Decision;
304  std::vector<double> *t_L1CenJetPt, *t_L1CenJetEta, *t_L1CenJetPhi;
305  std::vector<double> *t_L1FwdJetPt, *t_L1FwdJetEta, *t_L1FwdJetPhi;
306  std::vector<double> *t_L1TauJetPt, *t_L1TauJetEta, *t_L1TauJetPhi;
307  std::vector<double> *t_L1MuonPt, *t_L1MuonEta, *t_L1MuonPhi;
308  std::vector<double> *t_L1IsoEMPt, *t_L1IsoEMEta, *t_L1IsoEMPhi;
310  std::vector<double> *t_L1METPt, *t_L1METEta, *t_L1METPhi;
311 
316 };
317 
319  : ptMin_(iConfig.getUntrackedParameter<double>("PTMin", 1.0)),
320  etaMax_(iConfig.getUntrackedParameter<double>("MaxChargedHadronEta", 2.5)),
321  pCutIsolate_(iConfig.getUntrackedParameter<double>("PMaxIsolation", 20.0)),
322  a_Isolation_(iConfig.getUntrackedParameter<bool>("UseConeIsolation", false)),
323  genSrc_(iConfig.getUntrackedParameter("GenSrc", std::string("generatorSmeared"))),
324  useHepMC_(iConfig.getUntrackedParameter<bool>("UseHepMC", false)),
325  a_coneR_(iConfig.getUntrackedParameter<double>("ConeRadius", 34.98)),
326  a_mipR_(iConfig.getUntrackedParameter<double>("ConeRadiusMIP", 14.0)),
327  debugL1Info_(iConfig.getUntrackedParameter<bool>("DebugL1Info", false)),
328  verbosity_(iConfig.getUntrackedParameter<int>("Verbosity", 0)) {
329  usesResource(TFileService::kSharedResource);
330 
331  a_charIsoR_ = a_coneR_ + 28.9;
332  a_neutIsoR_ = a_charIsoR_ * 0.726;
333 
334  tok_hepmc_ = consumes<edm::HepMCProduct>(edm::InputTag(genSrc_));
335  tok_genParticles_ = consumes<reco::GenParticleCollection>(edm::InputTag(genSrc_));
336 
337  edm::InputTag L1extraTauJetSource_ = iConfig.getParameter<edm::InputTag>("L1extraTauJetSource");
338  edm::InputTag L1extraCenJetSource_ = iConfig.getParameter<edm::InputTag>("L1extraCenJetSource");
339  edm::InputTag L1extraFwdJetSource_ = iConfig.getParameter<edm::InputTag>("L1extraFwdJetSource");
340  edm::InputTag L1extraMuonSource_ = iConfig.getParameter<edm::InputTag>("L1extraMuonSource");
341  edm::InputTag L1extraIsoEmSource_ = iConfig.getParameter<edm::InputTag>("L1extraIsoEmSource");
342  edm::InputTag L1extraNonIsoEmSource_ = iConfig.getParameter<edm::InputTag>("L1extraNonIsoEmSource");
343  edm::InputTag L1GTReadoutRcdSource_ = iConfig.getParameter<edm::InputTag>("L1GTReadoutRcdSource");
344  edm::InputTag L1GTObjectMapRcdSource_ = iConfig.getParameter<edm::InputTag>("L1GTObjectMapRcdSource");
345  tok_L1GTrorsrc_ = consumes<L1GlobalTriggerReadoutRecord>(L1GTReadoutRcdSource_);
346  tok_L1GTobjmap_ = consumes<L1GlobalTriggerObjectMapRecord>(L1GTObjectMapRcdSource_);
347  tok_L1extMusrc_ = consumes<l1extra::L1MuonParticleCollection>(L1extraMuonSource_);
348  tok_L1Em_ = consumes<l1extra::L1EmParticleCollection>(L1extraIsoEmSource_);
349  tok_L1extNonIsoEm_ = consumes<l1extra::L1EmParticleCollection>(L1extraNonIsoEmSource_);
350  tok_L1extTauJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraTauJetSource_);
351  tok_L1extCenJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraCenJetSource_);
352  tok_L1extFwdJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraFwdJetSource_);
353 
354  if (!strcmp("Dummy", genSrc_.c_str())) {
355  if (useHepMC_)
356  genSrc_ = "generatorSmeared";
357  else
358  genSrc_ = "genParticles";
359  }
360  edm::LogVerbatim("IsoTrack") << "Generator Source " << genSrc_ << " Use HepMC " << useHepMC_ << " ptMin " << ptMin_
361  << " etaMax " << etaMax_ << "\n a_coneR " << a_coneR_ << " a_charIsoR " << a_charIsoR_
362  << " a_neutIsoR " << a_neutIsoR_ << " a_mipR " << a_mipR_ << " debug " << verbosity_
363  << " debugL1Info " << debugL1Info_ << "\n"
364  << " Isolation Flag " << a_Isolation_ << " with cut " << pCutIsolate_ << " GeV";
365 }
366 
369  desc.addUntracked<std::string>("GenSrc", "genParticles");
370  desc.addUntracked<bool>("UseHepMC", false);
371  desc.addUntracked<double>("ChargedHadronSeedP", 1.0);
372  desc.addUntracked<double>("PTMin", 1.0);
373  desc.addUntracked<double>("MaxChargedHadronEta", 2.5);
374  desc.addUntracked<double>("ConeRadius", 34.98);
375  desc.addUntracked<double>("ConeRadiusMIP", 14.0);
376  desc.addUntracked<bool>("UseConeIsolation", true);
377  desc.addUntracked<double>("PMaxIsolation", 5.0);
378  desc.addUntracked<int>("Verbosity", 0);
379  desc.addUntracked<bool>("DebugL1Info", false);
380  desc.addUntracked<edm::InputTag>("L1extraTauJetSource", edm::InputTag("l1extraParticles", "Tau"));
381  desc.addUntracked<edm::InputTag>("L1extraCenJetSource", edm::InputTag("l1extraParticles", "Central"));
382  desc.addUntracked<edm::InputTag>("L1extraFwdJetSource", edm::InputTag("l1extraParticles", "Forward"));
383  desc.addUntracked<edm::InputTag>("L1extraMuonSource", edm::InputTag("l1extraParticles"));
384  desc.addUntracked<edm::InputTag>("L1extraIsoEmSource", edm::InputTag("l1extraParticles", "Isolated"));
385  desc.addUntracked<edm::InputTag>("L1extraNonIsoEmSource", edm::InputTag("l1extraParticles", "NonIsolated"));
386  desc.addUntracked<edm::InputTag>("L1GTReadoutRcdSource", edm::InputTag("gtDigis"));
387  desc.addUntracked<edm::InputTag>("L1GTObjectMapRcdSource", edm::InputTag("hltL1GtObjectMap"));
388  descriptions.add("isolatedGenParticles", desc);
389 }
390 
393 
394  nEventProc++;
395 
397  iSetup.get<IdealMagneticFieldRecord>().get(bFieldH);
398  const MagneticField *bField = bFieldH.product();
399 
400  // get particle data table
402  iSetup.getData(pdt);
403 
404  // get handle to HEPMCProduct
407  if (useHepMC_)
408  iEvent.getByToken(tok_hepmc_, hepmc);
409  else
411 
413  iSetup.get<CaloGeometryRecord>().get(pG);
414  const CaloGeometry *geo = pG.product();
415 
416  edm::ESHandle<CaloTopology> theCaloTopology;
417  iSetup.get<CaloTopologyRecord>().get(theCaloTopology);
418  const CaloTopology *caloTopology = theCaloTopology.product();
419 
421  iSetup.get<HcalRecNumberingRecord>().get(htopo);
422  const HcalTopology *theHBHETopology = htopo.product();
423 
424  //===================== save L1 Trigger information =======================
425  // get L1TriggerReadout records
427  iEvent.getByToken(tok_L1GTrorsrc_, gtRecord);
428 
430  iEvent.getByToken(tok_L1GTobjmap_, gtOMRec);
431 
432  // sanity check on L1 Trigger Records
433  if (!gtRecord.isValid()) {
434  edm::LogVerbatim("IsoTrack") << "\nL1GlobalTriggerReadoutRecord with \n\n"
435  << "not found\n --> returning false by "
436  << "default!\n";
437  }
438  if (!gtOMRec.isValid()) {
439  edm::LogVerbatim("IsoTrack") << "\nL1GlobalTriggerObjectMapRecord with \n\n"
440  << "not found\n --> returning false by "
441  << "default!\n";
442  }
443 
444  // L1 decision word
445  const DecisionWord dWord = gtRecord->decisionWord();
446  unsigned int numberTriggerBits = dWord.size();
447 
448  // just print the L1Bit number and AlgoName in first event
449  if (!initL1) {
450  initL1 = true;
451  edm::LogVerbatim("IsoTrack") << "\nNumber of Trigger bits " << numberTriggerBits << "\n";
452  edm::LogVerbatim("IsoTrack") << "\tBit \t L1 Algorithm ";
453 
454  // get ObjectMaps from ObjectMapRecord
455  const std::vector<L1GlobalTriggerObjectMap> &objMapVec = gtOMRec->gtObjectMap();
456  for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin(); itMap != objMapVec.end();
457  ++itMap) {
458  // Get trigger bits
459  int itrig = (*itMap).algoBitNumber();
460 
461  // Get trigger names
462  algoBitToName_[itrig] = (*itMap).algoName();
463 
464  edm::LogVerbatim("IsoTrack") << "\t" << itrig << "\t" << algoBitToName_[itrig];
465 
466  // store the algoNames as bin labels of a histogram
467  h_L1AlgoNames->GetXaxis()->SetBinLabel(itrig + 1, algoBitToName_[itrig].c_str());
468 
469  } // end of for loop
470  } // end of initL1
471 
472  // save L1 decision for each event
473  for (unsigned int iBit = 0; iBit < numberTriggerBits; ++iBit) {
474  bool accept = dWord[iBit];
475  t_L1Decision->push_back(accept);
476  // fill the trigger map
477  if (debugL1Info_)
478  edm::LogVerbatim("IsoTrack") << "Bit " << iBit << " " << algoBitToName_[iBit] << " " << accept;
479 
480  if (accept)
481  h_L1AlgoNames->Fill(iBit);
482  }
483 
484  //===================
485  // L1Taus
487  iEvent.getByToken(tok_L1extTauJet_, l1TauHandle);
488  l1extra::L1JetParticleCollection::const_iterator itr;
489  for (itr = l1TauHandle->begin(); itr != l1TauHandle->end(); ++itr) {
490  t_L1TauJetPt->push_back(itr->pt());
491  t_L1TauJetEta->push_back(itr->eta());
492  t_L1TauJetPhi->push_back(itr->phi());
493  if (debugL1Info_) {
494  edm::LogVerbatim("IsoTrack") << "tauJ p/pt " << itr->momentum() << " " << itr->pt() << " eta/phi " << itr->eta()
495  << " " << itr->phi();
496  }
497  }
498 
499  // L1 Central Jets
501  iEvent.getByToken(tok_L1extCenJet_, l1CenJetHandle);
502  for (itr = l1CenJetHandle->begin(); itr != l1CenJetHandle->end(); ++itr) {
503  t_L1CenJetPt->push_back(itr->pt());
504  t_L1CenJetEta->push_back(itr->eta());
505  t_L1CenJetPhi->push_back(itr->phi());
506  if (debugL1Info_) {
507  edm::LogVerbatim("IsoTrack") << "cenJ p/pt " << itr->momentum() << " " << itr->pt() << " eta/phi "
508  << itr->eta() << " " << itr->phi();
509  }
510  }
511  // L1 Forward Jets
513  iEvent.getByToken(tok_L1extFwdJet_, l1FwdJetHandle);
514  for (itr = l1FwdJetHandle->begin(); itr != l1FwdJetHandle->end(); ++itr) {
515  t_L1FwdJetPt->push_back(itr->pt());
516  t_L1FwdJetEta->push_back(itr->eta());
517  t_L1FwdJetPhi->push_back(itr->phi());
518  if (debugL1Info_) {
519  edm::LogVerbatim("IsoTrack") << "fwdJ p/pt " << itr->momentum() << " " << itr->pt() << " eta/phi "
520  << itr->eta() << " " << itr->phi();
521  }
522  }
523  // L1 Isolated EM onjects
524  l1extra::L1EmParticleCollection::const_iterator itrEm;
526  iEvent.getByToken(tok_L1Em_, l1IsoEmHandle);
527  for (itrEm = l1IsoEmHandle->begin(); itrEm != l1IsoEmHandle->end(); ++itrEm) {
528  t_L1IsoEMPt->push_back(itrEm->pt());
529  t_L1IsoEMEta->push_back(itrEm->eta());
530  t_L1IsoEMPhi->push_back(itrEm->phi());
531  if (debugL1Info_) {
532  edm::LogVerbatim("IsoTrack") << "isoEm p/pt " << itrEm->momentum() << " " << itrEm->pt() << " eta/phi "
533  << itrEm->eta() << " " << itrEm->phi();
534  }
535  }
536  // L1 Non-Isolated EM onjects
538  iEvent.getByToken(tok_L1extNonIsoEm_, l1NonIsoEmHandle);
539  for (itrEm = l1NonIsoEmHandle->begin(); itrEm != l1NonIsoEmHandle->end(); ++itrEm) {
540  t_L1NonIsoEMPt->push_back(itrEm->pt());
541  t_L1NonIsoEMEta->push_back(itrEm->eta());
542  t_L1NonIsoEMPhi->push_back(itrEm->phi());
543  if (debugL1Info_) {
544  edm::LogVerbatim("IsoTrack") << "nonIsoEm p/pt " << itrEm->momentum() << " " << itrEm->pt() << " eta/phi "
545  << itrEm->eta() << " " << itrEm->phi();
546  }
547  }
548 
549  // L1 Muons
550  l1extra::L1MuonParticleCollection::const_iterator itrMu;
552  iEvent.getByToken(tok_L1extMusrc_, l1MuHandle);
553  for (itrMu = l1MuHandle->begin(); itrMu != l1MuHandle->end(); ++itrMu) {
554  t_L1MuonPt->push_back(itrMu->pt());
555  t_L1MuonEta->push_back(itrMu->eta());
556  t_L1MuonPhi->push_back(itrMu->phi());
557  if (debugL1Info_) {
558  edm::LogVerbatim("IsoTrack") << "l1muon p/pt " << itrMu->momentum() << " " << itrMu->pt() << " eta/phi "
559  << itrMu->eta() << " " << itrMu->phi();
560  }
561  }
562  //=====================================================================
563 
564  GlobalPoint posVec, posECAL;
566  if (verbosity_ > 0)
567  edm::LogVerbatim("IsoTrack") << "event number " << iEvent.id().event();
568  if (useHepMC_) {
569  const HepMC::GenEvent *myGenEvent = hepmc->GetEvent();
570  std::vector<spr::propagatedGenTrackID> trackIDs = spr::propagateCALO(myGenEvent, pdt, geo, bField, etaMax_, false);
571 
572  for (unsigned int indx = 0; indx < trackIDs.size(); ++indx) {
573  int charge = trackIDs[indx].charge;
574  HepMC::GenEvent::particle_const_iterator p = trackIDs[indx].trkItr;
575  momVec = math::XYZTLorentzVector(
576  (*p)->momentum().px(), (*p)->momentum().py(), (*p)->momentum().pz(), (*p)->momentum().e());
577  if (verbosity_ > 1)
578  edm::LogVerbatim("IsoTrack") << "trkIndx " << indx << " pdgid " << trackIDs[indx].pdgId << " charge " << charge
579  << " momVec " << momVec;
580  // only stable particles avoiding electrons and muons
581  if (trackIDs[indx].ok && (std::abs(trackIDs[indx].pdgId) < 11 || std::abs(trackIDs[indx].pdgId) >= 21)) {
582  // consider particles within a phased space
583  if (momVec.Pt() > ptMin_ && std::abs(momVec.eta()) < etaMax_) {
584  posVec = GlobalPoint(0.1 * (*p)->production_vertex()->position().x(),
585  0.1 * (*p)->production_vertex()->position().y(),
586  0.1 * (*p)->production_vertex()->position().z());
587  posECAL = trackIDs[indx].pointECAL;
588  fillTrack(posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL, true);
589  if (verbosity_ > 1)
590  edm::LogVerbatim("IsoTrack") << "posECAL " << posECAL << " okECAL " << trackIDs[indx].okECAL << "okHCAL "
591  << trackIDs[indx].okHCAL;
592  if (trackIDs[indx].okECAL) {
593  if (std::abs(charge) > 0) {
594  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 0, 0, isoinfo1x1, false);
595  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 1, 1, isoinfo3x3, false);
596  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 3, 3, isoinfo7x7, false);
597  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 4, 4, isoinfo9x9, false);
598  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 5, 5, isoinfo11x11, false);
599  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 7, 7, isoinfo15x15, false);
600  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 10, 10, isoinfo21x21, false);
601  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 12, 12, isoinfo25x25, false);
602  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 15, 15, isoinfo31x31, false);
603  spr::eGenSimInfo(trackIDs[indx].detIdECAL,
604  p,
605  trackIDs,
606  geo,
607  caloTopology,
608  a_mipR_,
609  trackIDs[indx].directionECAL,
610  isoinfoR,
611  false);
612  spr::eGenSimInfo(trackIDs[indx].detIdECAL,
613  p,
614  trackIDs,
615  geo,
616  caloTopology,
617  a_neutIsoR_,
618  trackIDs[indx].directionECAL,
619  isoinfoIsoR,
620  false);
621  if (trackIDs[indx].okHCAL) {
622  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 0, 0, isoinfoHC1x1, false);
623  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 1, 1, isoinfoHC3x3, false);
624  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 2, 2, isoinfoHC5x5, false);
625  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 3, 3, isoinfoHC7x7, false);
626  spr::hGenSimInfo(trackIDs[indx].detIdHCAL,
627  p,
628  trackIDs,
629  geo,
630  theHBHETopology,
631  a_coneR_,
632  trackIDs[indx].directionHCAL,
633  isoinfoHCR,
634  false);
635  spr::hGenSimInfo(trackIDs[indx].detIdHCAL,
636  p,
637  trackIDs,
638  geo,
639  theHBHETopology,
640  a_charIsoR_,
641  trackIDs[indx].directionHCAL,
643  false);
644  }
645 
646  bool saveTrack = true;
647  if (a_Isolation_)
648  saveTrack = (isoinfoR.maxNearP < pCutIsolate_);
649  else
650  saveTrack = (isoinfo7x7.maxNearP < pCutIsolate_);
651  if (saveTrack)
652  fillIsolatedTrack(momVec, posECAL, trackIDs[indx].pdgId);
653  }
654  }
655  } else { // stabale particles within |eta|=2.5
656  fillTrack(posVec, momVec, posECAL, 0, false, false);
657  }
658  }
659  }
660 
661  unsigned int indx;
662  HepMC::GenEvent::particle_const_iterator p;
663  for (p = myGenEvent->particles_begin(), indx = 0; p != myGenEvent->particles_end(); ++p, ++indx) {
664  int pdgId = ((*p)->pdg_id());
665  int ix = particleCode(pdgId);
666  if (ix >= 0) {
667  double pp = (*p)->momentum().rho();
668  double eta = (*p)->momentum().eta();
669  h_pEta[ix]->Fill(pp, eta);
670  }
671  }
672  } else { // loop over gen particles
673  std::vector<spr::propagatedGenParticleID> trackIDs =
675 
676  for (unsigned int indx = 0; indx < trackIDs.size(); ++indx) {
677  int charge = trackIDs[indx].charge;
678  reco::GenParticleCollection::const_iterator p = trackIDs[indx].trkItr;
679 
680  momVec = math::XYZTLorentzVector(p->momentum().x(), p->momentum().y(), p->momentum().z(), p->energy());
681  if (verbosity_ > 1)
682  edm::LogVerbatim("IsoTrack") << "trkIndx " << indx << " pdgid " << trackIDs[indx].pdgId << " charge " << charge
683  << " momVec " << momVec;
684  // only stable particles avoiding electrons and muons
685  if (trackIDs[indx].ok && std::abs(trackIDs[indx].pdgId) > 21) {
686  // consider particles within a phased space
687  if (verbosity_ > 1)
688  edm::LogVerbatim("IsoTrack") << " pt " << momVec.Pt() << " eta " << momVec.eta();
689  if (momVec.Pt() > ptMin_ && std::abs(momVec.eta()) < etaMax_) {
690  posVec = GlobalPoint(p->vertex().x(), p->vertex().y(), p->vertex().z());
691  posECAL = trackIDs[indx].pointECAL;
692  if (verbosity_ > 0)
693  edm::LogVerbatim("IsoTrack") << "posECAL " << posECAL << " okECAL " << trackIDs[indx].okECAL << "okHCAL "
694  << trackIDs[indx].okHCAL;
695  fillTrack(posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL, true);
696  if (trackIDs[indx].okECAL) {
697  if (std::abs(charge) > 0) {
699  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 0, 0, isoinfo1x1, verbosity_ > 1);
701  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 1, 1, isoinfo3x3, verbosity_ > 0);
703  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 3, 3, isoinfo7x7, verbosity_ > 1);
705  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 4, 4, isoinfo9x9, verbosity_ > 1);
707  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 5, 5, isoinfo11x11, verbosity_ > 1);
709  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 7, 7, isoinfo15x15, verbosity_ > 1);
711  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 10, 10, isoinfo21x21, verbosity_ > 1);
713  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 12, 12, isoinfo25x25, verbosity_ > 1);
715  trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 15, 15, isoinfo31x31, verbosity_ > 1);
716  spr::eGenSimInfo(trackIDs[indx].detIdECAL,
717  p,
718  trackIDs,
719  geo,
720  caloTopology,
721  a_mipR_,
722  trackIDs[indx].directionECAL,
723  isoinfoR,
724  verbosity_ > 1);
725  spr::eGenSimInfo(trackIDs[indx].detIdECAL,
726  p,
727  trackIDs,
728  geo,
729  caloTopology,
730  a_neutIsoR_,
731  trackIDs[indx].directionECAL,
732  isoinfoIsoR,
733  verbosity_ > 1);
734  if (trackIDs[indx].okHCAL) {
736  trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 0, 0, isoinfoHC1x1, verbosity_ > 1);
738  trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 1, 1, isoinfoHC3x3, verbosity_ > 1);
740  trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 2, 2, isoinfoHC5x5, verbosity_ > 1);
742  trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 3, 3, isoinfoHC7x7, verbosity_ > 1);
743  spr::hGenSimInfo(trackIDs[indx].detIdHCAL,
744  p,
745  trackIDs,
746  geo,
747  theHBHETopology,
748  a_coneR_,
749  trackIDs[indx].directionHCAL,
750  isoinfoHCR,
751  verbosity_ > 1);
752  spr::hGenSimInfo(trackIDs[indx].detIdHCAL,
753  p,
754  trackIDs,
755  geo,
756  theHBHETopology,
757  a_charIsoR_,
758  trackIDs[indx].directionHCAL,
760  verbosity_ > 1);
761  }
762 
763  bool saveTrack = true;
764  if (a_Isolation_)
765  saveTrack = (isoinfoIsoR.maxNearP < pCutIsolate_);
766  else
767  saveTrack = (isoinfo7x7.maxNearP < pCutIsolate_);
768  if (saveTrack)
769  fillIsolatedTrack(momVec, posECAL, trackIDs[indx].pdgId);
770  }
771  }
772  } else { // stabale particles within |eta|=2.5
773  fillTrack(posVec, momVec, posECAL, 0, false, false);
774  }
775  }
776  } // loop over gen particles
777 
778  unsigned int indx;
779  reco::GenParticleCollection::const_iterator p;
780  for (p = genParticles->begin(), indx = 0; p != genParticles->end(); ++p, ++indx) {
781  int pdgId = (p->pdgId());
782  int ix = particleCode(pdgId);
783  if (ix >= 0) {
784  double pp = (p->momentum()).R();
785  double eta = (p->momentum()).Eta();
786  h_pEta[ix]->Fill(pp, eta);
787  }
788  }
789  }
790 
791  //t_nEvtProc->push_back(nEventProc);
792  h_NEventProc->SetBinContent(1, nEventProc);
793  tree_->Fill();
794 }
795 
797  nEventProc = 0;
798 
799  initL1 = false;
800 
801  double tempgen_TH[NPBins_ + 1] = {0.0, 5.0, 12.0, 300.0};
802  for (int i = 0; i <= NPBins_; i++)
803  genPartPBins_[i] = tempgen_TH[i];
804 
805  double tempgen_Eta[NEtaBins_ + 1] = {0.0, 0.5, 1.1, 1.7, 2.3};
806  for (int i = 0; i <= NEtaBins_; i++)
807  genPartEtaBins_[i] = tempgen_Eta[i];
808 
809  bookHistograms();
810 }
811 
812 double IsolatedGenParticles::deltaPhi(double v1, double v2) {
813  // Computes the correctly normalized phi difference
814  // v1, v2 = phi of object 1 and 2
815 
816  double diff = std::abs(v2 - v1);
817  double corr = 2 * M_PI - diff;
818  return ((diff < M_PI) ? diff : corr);
819 }
820 
821 double IsolatedGenParticles::deltaR(double eta1, double phi1, double eta2, double phi2) {
822  double deta = eta1 - eta2;
823  double dphi = deltaPhi(phi1, phi2);
824  return std::sqrt(deta * deta + dphi * dphi);
825 }
826 
827 double IsolatedGenParticles::deltaR2(double eta1, double phi1, double eta2, double phi2) {
828  double deta = eta1 - eta2;
829  double dphi = deltaPhi(phi1, phi2);
830  return deta * deta + dphi * dphi;
831 }
832 
834  GlobalPoint &posVec, math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId, bool okECAL, bool accept) {
835  if (accept) {
836  t_isoTrkPAll->push_back(momVec.P());
837  t_isoTrkPtAll->push_back(momVec.Pt());
838  t_isoTrkPhiAll->push_back(momVec.phi());
839  t_isoTrkEtaAll->push_back(momVec.eta());
840  t_isoTrkPdgIdAll->push_back(pdgId);
841  if (okECAL) {
842  double phi1 = momVec.phi();
843  double phi2 = (posECAL - posVec).phi();
844  double dphi = deltaPhi(phi1, phi2);
845  double deta = momVec.eta() - (posECAL - posVec).eta();
846  t_isoTrkDPhiAll->push_back(dphi);
847  t_isoTrkDEtaAll->push_back(deta);
848  } else {
849  t_isoTrkDPhiAll->push_back(999.0);
850  t_isoTrkDEtaAll->push_back(999.0);
851  }
852  } else {
853  t_isoTrkDPhiAll->push_back(-999.0);
854  t_isoTrkDEtaAll->push_back(-999.0);
855  }
856 }
857 
859  t_isoTrkP->push_back(momVec.P());
860  t_isoTrkPt->push_back(momVec.Pt());
861  t_isoTrkEne->push_back(momVec.E());
862  t_isoTrkEta->push_back(momVec.eta());
863  t_isoTrkPhi->push_back(momVec.phi());
864  t_isoTrkEtaEC->push_back(posECAL.eta());
865  t_isoTrkPhiEC->push_back(posECAL.phi());
866  t_isoTrkPdgId->push_back(pdgId);
867 
875  t_eleEne31x31->push_back(isoinfo31x31.eleEne);
876  t_muEne31x31->push_back(isoinfo31x31.muEne);
877 
885  t_eleEne25x25->push_back(isoinfo25x25.eleEne);
886  t_muEne25x25->push_back(isoinfo25x25.muEne);
887 
895  t_eleEne21x21->push_back(isoinfo21x21.eleEne);
896  t_muEne21x21->push_back(isoinfo21x21.muEne);
897 
905  t_eleEne15x15->push_back(isoinfo15x15.eleEne);
906  t_muEne15x15->push_back(isoinfo15x15.muEne);
907 
915  t_eleEne11x11->push_back(isoinfo11x11.eleEne);
916  t_muEne11x11->push_back(isoinfo11x11.muEne);
917 
918  t_maxNearP9x9->push_back(isoinfo9x9.maxNearP);
924  t_photonEne9x9->push_back(isoinfo9x9.photonEne);
925  t_eleEne9x9->push_back(isoinfo9x9.eleEne);
926  t_muEne9x9->push_back(isoinfo9x9.muEne);
927 
928  t_maxNearP7x7->push_back(isoinfo7x7.maxNearP);
934  t_photonEne7x7->push_back(isoinfo7x7.photonEne);
935  t_eleEne7x7->push_back(isoinfo7x7.eleEne);
936  t_muEne7x7->push_back(isoinfo7x7.muEne);
937 
938  t_maxNearP3x3->push_back(isoinfo3x3.maxNearP);
944  t_photonEne3x3->push_back(isoinfo3x3.photonEne);
945  t_eleEne3x3->push_back(isoinfo3x3.eleEne);
946  t_muEne3x3->push_back(isoinfo3x3.muEne);
947 
948  t_maxNearP1x1->push_back(isoinfo1x1.maxNearP);
954  t_photonEne1x1->push_back(isoinfo1x1.photonEne);
955  t_eleEne1x1->push_back(isoinfo1x1.eleEne);
956  t_muEne1x1->push_back(isoinfo1x1.muEne);
957 
965  t_eleEneHC1x1->push_back(isoinfoHC1x1.eleEne);
966  t_muEneHC1x1->push_back(isoinfoHC1x1.muEne);
967 
975  t_eleEneHC3x3->push_back(isoinfoHC3x3.eleEne);
976  t_muEneHC3x3->push_back(isoinfoHC3x3.muEne);
977 
985  t_eleEneHC5x5->push_back(isoinfoHC5x5.eleEne);
986  t_muEneHC5x5->push_back(isoinfoHC5x5.muEne);
987 
995  t_eleEneHC7x7->push_back(isoinfoHC7x7.eleEne);
996  t_muEneHC7x7->push_back(isoinfoHC7x7.muEne);
997 
998  t_maxNearPR->push_back(isoinfoR.maxNearP);
999  t_cHadronEneR->push_back(isoinfoR.cHadronEne);
1000  t_cHadronEneR_1->push_back(isoinfoR.cHadronEne_[0]);
1001  t_cHadronEneR_2->push_back(isoinfoR.cHadronEne_[1]);
1002  t_cHadronEneR_3->push_back(isoinfoR.cHadronEne_[2]);
1003  t_nHadronEneR->push_back(isoinfoR.nHadronEne);
1004  t_photonEneR->push_back(isoinfoR.photonEne);
1005  t_eleEneR->push_back(isoinfoR.eleEne);
1006  t_muEneR->push_back(isoinfoR.muEne);
1007 
1008  t_maxNearPIsoR->push_back(isoinfoIsoR.maxNearP);
1015  t_eleEneIsoR->push_back(isoinfoIsoR.eleEne);
1016  t_muEneIsoR->push_back(isoinfoIsoR.muEne);
1017 
1018  t_maxNearPHCR->push_back(isoinfoHCR.maxNearP);
1020  t_cHadronEneHCR_1->push_back(isoinfoHCR.cHadronEne_[0]);
1021  t_cHadronEneHCR_2->push_back(isoinfoHCR.cHadronEne_[1]);
1022  t_cHadronEneHCR_3->push_back(isoinfoHCR.cHadronEne_[2]);
1024  t_photonEneHCR->push_back(isoinfoHCR.photonEne);
1025  t_eleEneHCR->push_back(isoinfoHCR.eleEne);
1026  t_muEneHCR->push_back(isoinfoHCR.muEne);
1027 
1035  t_eleEneIsoHCR->push_back(isoinfoIsoHCR.eleEne);
1036  t_muEneIsoHCR->push_back(isoinfoIsoHCR.muEne);
1037 }
1038 
1041  //char hname[100], htit[100];
1042 
1043  h_NEventProc = fs->make<TH1I>("h_NEventProc", "h_NEventProc", 2, -0.5, 0.5);
1044  h_L1AlgoNames = fs->make<TH1I>("h_L1AlgoNames", "h_L1AlgoNames:Bin Labels", 128, -0.5, 127.5);
1045 
1046  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,
1047  70.0, 80.0, 90.0, 100.0, 150.0, 200.0, 250.0, 300.0, 350.0, 400.0, 450.0,
1048  500.0, 550.0, 600.0, 650.0, 700.0, 750.0, 800.0, 850.0, 900.0, 950.0, 1000.0};
1049  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,
1050  -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,
1051  -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,
1052  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,
1053  2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0};
1054  std::string particle[Particles] = {
1055  "electron", "positron", "#gamma", "#pi^+", "#pi^-", "K^+", "K^-", "p", "n", "pbar", "nbar", "K^0_L"};
1056  TFileDirectory dir1 = fs->mkdir("pEta");
1057  char name[20], title[50];
1058  for (int i = 0; i < Particles; ++i) {
1059  sprintf(name, "pEta%d", i);
1060  sprintf(title, "#eta vs momentum for %s", particle[i].c_str());
1061  h_pEta[i] = dir1.make<TH2D>(name, title, PBins_, pBin, EtaBins_, etaBin);
1062  }
1063 
1064  // build the tree
1065  tree_ = fs->make<TTree>("tree_", "tree");
1066 
1067  t_isoTrkPAll = new std::vector<double>();
1068  t_isoTrkPtAll = new std::vector<double>();
1069  t_isoTrkPhiAll = new std::vector<double>();
1070  t_isoTrkEtaAll = new std::vector<double>();
1071  t_isoTrkDPhiAll = new std::vector<double>();
1072  t_isoTrkDEtaAll = new std::vector<double>();
1073  t_isoTrkPdgIdAll = new std::vector<double>();
1074 
1075  t_isoTrkP = new std::vector<double>();
1076  t_isoTrkPt = new std::vector<double>();
1077  t_isoTrkEne = new std::vector<double>();
1078  t_isoTrkEta = new std::vector<double>();
1079  t_isoTrkPhi = new std::vector<double>();
1080  t_isoTrkEtaEC = new std::vector<double>();
1081  t_isoTrkPhiEC = new std::vector<double>();
1082  t_isoTrkPdgId = new std::vector<double>();
1083 
1084  t_maxNearP31x31 = new std::vector<double>();
1085  t_cHadronEne31x31 = new std::vector<double>();
1086  t_cHadronEne31x31_1 = new std::vector<double>();
1087  t_cHadronEne31x31_2 = new std::vector<double>();
1088  t_cHadronEne31x31_3 = new std::vector<double>();
1089  t_nHadronEne31x31 = new std::vector<double>();
1090  t_photonEne31x31 = new std::vector<double>();
1091  t_eleEne31x31 = new std::vector<double>();
1092  t_muEne31x31 = new std::vector<double>();
1093 
1094  t_maxNearP25x25 = new std::vector<double>();
1095  t_cHadronEne25x25 = new std::vector<double>();
1096  t_cHadronEne25x25_1 = new std::vector<double>();
1097  t_cHadronEne25x25_2 = new std::vector<double>();
1098  t_cHadronEne25x25_3 = new std::vector<double>();
1099  t_nHadronEne25x25 = new std::vector<double>();
1100  t_photonEne25x25 = new std::vector<double>();
1101  t_eleEne25x25 = new std::vector<double>();
1102  t_muEne25x25 = new std::vector<double>();
1103 
1104  t_maxNearP21x21 = new std::vector<double>();
1105  t_cHadronEne21x21 = new std::vector<double>();
1106  t_cHadronEne21x21_1 = new std::vector<double>();
1107  t_cHadronEne21x21_2 = new std::vector<double>();
1108  t_cHadronEne21x21_3 = new std::vector<double>();
1109  t_nHadronEne21x21 = new std::vector<double>();
1110  t_photonEne21x21 = new std::vector<double>();
1111  t_eleEne21x21 = new std::vector<double>();
1112  t_muEne21x21 = new std::vector<double>();
1113 
1114  t_maxNearP15x15 = new std::vector<double>();
1115  t_cHadronEne15x15 = new std::vector<double>();
1116  t_cHadronEne15x15_1 = new std::vector<double>();
1117  t_cHadronEne15x15_2 = new std::vector<double>();
1118  t_cHadronEne15x15_3 = new std::vector<double>();
1119  t_nHadronEne15x15 = new std::vector<double>();
1120  t_photonEne15x15 = new std::vector<double>();
1121  t_eleEne15x15 = new std::vector<double>();
1122  t_muEne15x15 = new std::vector<double>();
1123 
1124  t_maxNearP11x11 = new std::vector<double>();
1125  t_cHadronEne11x11 = new std::vector<double>();
1126  t_cHadronEne11x11_1 = new std::vector<double>();
1127  t_cHadronEne11x11_2 = new std::vector<double>();
1128  t_cHadronEne11x11_3 = new std::vector<double>();
1129  t_nHadronEne11x11 = new std::vector<double>();
1130  t_photonEne11x11 = new std::vector<double>();
1131  t_eleEne11x11 = new std::vector<double>();
1132  t_muEne11x11 = new std::vector<double>();
1133 
1134  t_maxNearP9x9 = new std::vector<double>();
1135  t_cHadronEne9x9 = new std::vector<double>();
1136  t_cHadronEne9x9_1 = new std::vector<double>();
1137  t_cHadronEne9x9_2 = new std::vector<double>();
1138  t_cHadronEne9x9_3 = new std::vector<double>();
1139  t_nHadronEne9x9 = new std::vector<double>();
1140  t_photonEne9x9 = new std::vector<double>();
1141  t_eleEne9x9 = new std::vector<double>();
1142  t_muEne9x9 = new std::vector<double>();
1143 
1144  t_maxNearP7x7 = new std::vector<double>();
1145  t_cHadronEne7x7 = new std::vector<double>();
1146  t_cHadronEne7x7_1 = new std::vector<double>();
1147  t_cHadronEne7x7_2 = new std::vector<double>();
1148  t_cHadronEne7x7_3 = new std::vector<double>();
1149  t_nHadronEne7x7 = new std::vector<double>();
1150  t_photonEne7x7 = new std::vector<double>();
1151  t_eleEne7x7 = new std::vector<double>();
1152  t_muEne7x7 = new std::vector<double>();
1153 
1154  t_maxNearP3x3 = new std::vector<double>();
1155  t_cHadronEne3x3 = new std::vector<double>();
1156  t_cHadronEne3x3_1 = new std::vector<double>();
1157  t_cHadronEne3x3_2 = new std::vector<double>();
1158  t_cHadronEne3x3_3 = new std::vector<double>();
1159  t_nHadronEne3x3 = new std::vector<double>();
1160  t_photonEne3x3 = new std::vector<double>();
1161  t_eleEne3x3 = new std::vector<double>();
1162  t_muEne3x3 = new std::vector<double>();
1163 
1164  t_maxNearP1x1 = new std::vector<double>();
1165  t_cHadronEne1x1 = new std::vector<double>();
1166  t_cHadronEne1x1_1 = new std::vector<double>();
1167  t_cHadronEne1x1_2 = new std::vector<double>();
1168  t_cHadronEne1x1_3 = new std::vector<double>();
1169  t_nHadronEne1x1 = new std::vector<double>();
1170  t_photonEne1x1 = new std::vector<double>();
1171  t_eleEne1x1 = new std::vector<double>();
1172  t_muEne1x1 = new std::vector<double>();
1173 
1174  t_maxNearPHC1x1 = new std::vector<double>();
1175  t_cHadronEneHC1x1 = new std::vector<double>();
1176  t_cHadronEneHC1x1_1 = new std::vector<double>();
1177  t_cHadronEneHC1x1_2 = new std::vector<double>();
1178  t_cHadronEneHC1x1_3 = new std::vector<double>();
1179  t_nHadronEneHC1x1 = new std::vector<double>();
1180  t_photonEneHC1x1 = new std::vector<double>();
1181  t_eleEneHC1x1 = new std::vector<double>();
1182  t_muEneHC1x1 = new std::vector<double>();
1183 
1184  t_maxNearPHC3x3 = new std::vector<double>();
1185  t_cHadronEneHC3x3 = new std::vector<double>();
1186  t_cHadronEneHC3x3_1 = new std::vector<double>();
1187  t_cHadronEneHC3x3_2 = new std::vector<double>();
1188  t_cHadronEneHC3x3_3 = new std::vector<double>();
1189  t_nHadronEneHC3x3 = new std::vector<double>();
1190  t_photonEneHC3x3 = new std::vector<double>();
1191  t_eleEneHC3x3 = new std::vector<double>();
1192  t_muEneHC3x3 = new std::vector<double>();
1193 
1194  t_maxNearPHC5x5 = new std::vector<double>();
1195  t_cHadronEneHC5x5 = new std::vector<double>();
1196  t_cHadronEneHC5x5_1 = new std::vector<double>();
1197  t_cHadronEneHC5x5_2 = new std::vector<double>();
1198  t_cHadronEneHC5x5_3 = new std::vector<double>();
1199  t_nHadronEneHC5x5 = new std::vector<double>();
1200  t_photonEneHC5x5 = new std::vector<double>();
1201  t_eleEneHC5x5 = new std::vector<double>();
1202  t_muEneHC5x5 = new std::vector<double>();
1203 
1204  t_maxNearPHC7x7 = new std::vector<double>();
1205  t_cHadronEneHC7x7 = new std::vector<double>();
1206  t_cHadronEneHC7x7_1 = new std::vector<double>();
1207  t_cHadronEneHC7x7_2 = new std::vector<double>();
1208  t_cHadronEneHC7x7_3 = new std::vector<double>();
1209  t_nHadronEneHC7x7 = new std::vector<double>();
1210  t_photonEneHC7x7 = new std::vector<double>();
1211  t_eleEneHC7x7 = new std::vector<double>();
1212  t_muEneHC7x7 = new std::vector<double>();
1213 
1214  t_maxNearPR = new std::vector<double>();
1215  t_cHadronEneR = new std::vector<double>();
1216  t_cHadronEneR_1 = new std::vector<double>();
1217  t_cHadronEneR_2 = new std::vector<double>();
1218  t_cHadronEneR_3 = new std::vector<double>();
1219  t_nHadronEneR = new std::vector<double>();
1220  t_photonEneR = new std::vector<double>();
1221  t_eleEneR = new std::vector<double>();
1222  t_muEneR = new std::vector<double>();
1223 
1224  t_maxNearPIsoR = new std::vector<double>();
1225  t_cHadronEneIsoR = new std::vector<double>();
1226  t_cHadronEneIsoR_1 = new std::vector<double>();
1227  t_cHadronEneIsoR_2 = new std::vector<double>();
1228  t_cHadronEneIsoR_3 = new std::vector<double>();
1229  t_nHadronEneIsoR = new std::vector<double>();
1230  t_photonEneIsoR = new std::vector<double>();
1231  t_eleEneIsoR = new std::vector<double>();
1232  t_muEneIsoR = new std::vector<double>();
1233 
1234  t_maxNearPHCR = new std::vector<double>();
1235  t_cHadronEneHCR = new std::vector<double>();
1236  t_cHadronEneHCR_1 = new std::vector<double>();
1237  t_cHadronEneHCR_2 = new std::vector<double>();
1238  t_cHadronEneHCR_3 = new std::vector<double>();
1239  t_nHadronEneHCR = new std::vector<double>();
1240  t_photonEneHCR = new std::vector<double>();
1241  t_eleEneHCR = new std::vector<double>();
1242  t_muEneHCR = new std::vector<double>();
1243 
1244  t_maxNearPIsoHCR = new std::vector<double>();
1245  t_cHadronEneIsoHCR = new std::vector<double>();
1246  t_cHadronEneIsoHCR_1 = new std::vector<double>();
1247  t_cHadronEneIsoHCR_2 = new std::vector<double>();
1248  t_cHadronEneIsoHCR_3 = new std::vector<double>();
1249  t_nHadronEneIsoHCR = new std::vector<double>();
1250  t_photonEneIsoHCR = new std::vector<double>();
1251  t_eleEneIsoHCR = new std::vector<double>();
1252  t_muEneIsoHCR = new std::vector<double>();
1253 
1254  //----- L1Trigger
1255  t_L1Decision = new std::vector<int>();
1256  t_L1CenJetPt = new std::vector<double>();
1257  t_L1CenJetEta = new std::vector<double>();
1258  t_L1CenJetPhi = new std::vector<double>();
1259  t_L1FwdJetPt = new std::vector<double>();
1260  t_L1FwdJetEta = new std::vector<double>();
1261  t_L1FwdJetPhi = new std::vector<double>();
1262  t_L1TauJetPt = new std::vector<double>();
1263  t_L1TauJetEta = new std::vector<double>();
1264  t_L1TauJetPhi = new std::vector<double>();
1265  t_L1MuonPt = new std::vector<double>();
1266  t_L1MuonEta = new std::vector<double>();
1267  t_L1MuonPhi = new std::vector<double>();
1268  t_L1IsoEMPt = new std::vector<double>();
1269  t_L1IsoEMEta = new std::vector<double>();
1270  t_L1IsoEMPhi = new std::vector<double>();
1271  t_L1NonIsoEMPt = new std::vector<double>();
1272  t_L1NonIsoEMEta = new std::vector<double>();
1273  t_L1NonIsoEMPhi = new std::vector<double>();
1274  t_L1METPt = new std::vector<double>();
1275  t_L1METEta = new std::vector<double>();
1276  t_L1METPhi = new std::vector<double>();
1277 
1278  //tree_->Branch("t_nEvtProc", "std::vector<int>", &t_nEvtProc);
1279 
1280  tree_->Branch("t_isoTrkPAll", "std::vector<double>", &t_isoTrkPAll);
1281  tree_->Branch("t_isoTrkPtAll", "std::vector<double>", &t_isoTrkPtAll);
1282  tree_->Branch("t_isoTrkPhiAll", "std::vector<double>", &t_isoTrkPhiAll);
1283  tree_->Branch("t_isoTrkEtaAll", "std::vector<double>", &t_isoTrkEtaAll);
1284  tree_->Branch("t_isoTrkDPhiAll", "std::vector<double>", &t_isoTrkDPhiAll);
1285  tree_->Branch("t_isoTrkDEtaAll", "std::vector<double>", &t_isoTrkDEtaAll);
1286  tree_->Branch("t_isoTrkPdgIdAll", "std::vector<double>", &t_isoTrkPdgIdAll);
1287 
1288  tree_->Branch("t_isoTrkP", "std::vector<double>", &t_isoTrkP);
1289  tree_->Branch("t_isoTrkPt", "std::vector<double>", &t_isoTrkPt);
1290  tree_->Branch("t_isoTrkEne", "std::vector<double>", &t_isoTrkEne);
1291  tree_->Branch("t_isoTrkEta", "std::vector<double>", &t_isoTrkEta);
1292  tree_->Branch("t_isoTrkPhi", "std::vector<double>", &t_isoTrkPhi);
1293  tree_->Branch("t_isoTrkEtaEC", "std::vector<double>", &t_isoTrkEtaEC);
1294  tree_->Branch("t_isoTrkPhiEC", "std::vector<double>", &t_isoTrkPhiEC);
1295  tree_->Branch("t_isoTrkPdgId", "std::vector<double>", &t_isoTrkPdgId);
1296 
1297  tree_->Branch("t_maxNearP31x31", "std::vector<double>", &t_maxNearP31x31);
1298  tree_->Branch("t_cHadronEne31x31", "std::vector<double>", &t_cHadronEne31x31);
1299  tree_->Branch("t_cHadronEne31x31_1", "std::vector<double>", &t_cHadronEne31x31_1);
1300  tree_->Branch("t_cHadronEne31x31_2", "std::vector<double>", &t_cHadronEne31x31_2);
1301  tree_->Branch("t_cHadronEne31x31_3", "std::vector<double>", &t_cHadronEne31x31_3);
1302  tree_->Branch("t_nHadronEne31x31", "std::vector<double>", &t_nHadronEne31x31);
1303  tree_->Branch("t_photonEne31x31", "std::vector<double>", &t_photonEne31x31);
1304  tree_->Branch("t_eleEne31x31", "std::vector<double>", &t_eleEne31x31);
1305  tree_->Branch("t_muEne31x31", "std::vector<double>", &t_muEne31x31);
1306 
1307  tree_->Branch("t_maxNearP25x25", "std::vector<double>", &t_maxNearP25x25);
1308  tree_->Branch("t_cHadronEne25x25", "std::vector<double>", &t_cHadronEne25x25);
1309  tree_->Branch("t_cHadronEne25x25_1", "std::vector<double>", &t_cHadronEne25x25_1);
1310  tree_->Branch("t_cHadronEne25x25_2", "std::vector<double>", &t_cHadronEne25x25_2);
1311  tree_->Branch("t_cHadronEne25x25_3", "std::vector<double>", &t_cHadronEne25x25_3);
1312  tree_->Branch("t_nHadronEne25x25", "std::vector<double>", &t_nHadronEne25x25);
1313  tree_->Branch("t_photonEne25x25", "std::vector<double>", &t_photonEne25x25);
1314  tree_->Branch("t_eleEne25x25", "std::vector<double>", &t_eleEne25x25);
1315  tree_->Branch("t_muEne25x25", "std::vector<double>", &t_muEne25x25);
1316 
1317  tree_->Branch("t_maxNearP21x21", "std::vector<double>", &t_maxNearP21x21);
1318  tree_->Branch("t_cHadronEne21x21", "std::vector<double>", &t_cHadronEne21x21);
1319  tree_->Branch("t_cHadronEne21x21_1", "std::vector<double>", &t_cHadronEne21x21_1);
1320  tree_->Branch("t_cHadronEne21x21_2", "std::vector<double>", &t_cHadronEne21x21_2);
1321  tree_->Branch("t_cHadronEne21x21_3", "std::vector<double>", &t_cHadronEne21x21_3);
1322  tree_->Branch("t_nHadronEne21x21", "std::vector<double>", &t_nHadronEne21x21);
1323  tree_->Branch("t_photonEne21x21", "std::vector<double>", &t_photonEne21x21);
1324  tree_->Branch("t_eleEne21x21", "std::vector<double>", &t_eleEne21x21);
1325  tree_->Branch("t_muEne21x21", "std::vector<double>", &t_muEne21x21);
1326 
1327  tree_->Branch("t_maxNearP15x15", "std::vector<double>", &t_maxNearP15x15);
1328  tree_->Branch("t_cHadronEne15x15", "std::vector<double>", &t_cHadronEne15x15);
1329  tree_->Branch("t_cHadronEne15x15_1", "std::vector<double>", &t_cHadronEne15x15_1);
1330  tree_->Branch("t_cHadronEne15x15_2", "std::vector<double>", &t_cHadronEne15x15_2);
1331  tree_->Branch("t_cHadronEne15x15_3", "std::vector<double>", &t_cHadronEne15x15_3);
1332  tree_->Branch("t_nHadronEne15x15", "std::vector<double>", &t_nHadronEne15x15);
1333  tree_->Branch("t_photonEne15x15", "std::vector<double>", &t_photonEne15x15);
1334  tree_->Branch("t_eleEne15x15", "std::vector<double>", &t_eleEne15x15);
1335  tree_->Branch("t_muEne15x15", "std::vector<double>", &t_muEne15x15);
1336 
1337  tree_->Branch("t_maxNearP11x11", "std::vector<double>", &t_maxNearP11x11);
1338  tree_->Branch("t_cHadronEne11x11", "std::vector<double>", &t_cHadronEne11x11);
1339  tree_->Branch("t_cHadronEne11x11_1", "std::vector<double>", &t_cHadronEne11x11_1);
1340  tree_->Branch("t_cHadronEne11x11_2", "std::vector<double>", &t_cHadronEne11x11_2);
1341  tree_->Branch("t_cHadronEne11x11_3", "std::vector<double>", &t_cHadronEne11x11_3);
1342  tree_->Branch("t_nHadronEne11x11", "std::vector<double>", &t_nHadronEne11x11);
1343  tree_->Branch("t_photonEne11x11", "std::vector<double>", &t_photonEne11x11);
1344  tree_->Branch("t_eleEne11x11", "std::vector<double>", &t_eleEne11x11);
1345  tree_->Branch("t_muEne11x11", "std::vector<double>", &t_muEne11x11);
1346 
1347  tree_->Branch("t_maxNearP9x9", "std::vector<double>", &t_maxNearP9x9);
1348  tree_->Branch("t_cHadronEne9x9", "std::vector<double>", &t_cHadronEne9x9);
1349  tree_->Branch("t_cHadronEne9x9_1", "std::vector<double>", &t_cHadronEne9x9_1);
1350  tree_->Branch("t_cHadronEne9x9_2", "std::vector<double>", &t_cHadronEne9x9_2);
1351  tree_->Branch("t_cHadronEne9x9_3", "std::vector<double>", &t_cHadronEne9x9_3);
1352  tree_->Branch("t_nHadronEne9x9", "std::vector<double>", &t_nHadronEne9x9);
1353  tree_->Branch("t_photonEne9x9", "std::vector<double>", &t_photonEne9x9);
1354  tree_->Branch("t_eleEne9x9", "std::vector<double>", &t_eleEne9x9);
1355  tree_->Branch("t_muEne9x9", "std::vector<double>", &t_muEne9x9);
1356 
1357  tree_->Branch("t_maxNearP7x7", "std::vector<double>", &t_maxNearP7x7);
1358  tree_->Branch("t_cHadronEne7x7", "std::vector<double>", &t_cHadronEne7x7);
1359  tree_->Branch("t_cHadronEne7x7_1", "std::vector<double>", &t_cHadronEne7x7_1);
1360  tree_->Branch("t_cHadronEne7x7_2", "std::vector<double>", &t_cHadronEne7x7_2);
1361  tree_->Branch("t_cHadronEne7x7_3", "std::vector<double>", &t_cHadronEne7x7_3);
1362  tree_->Branch("t_nHadronEne7x7", "std::vector<double>", &t_nHadronEne7x7);
1363  tree_->Branch("t_photonEne7x7", "std::vector<double>", &t_photonEne7x7);
1364  tree_->Branch("t_eleEne7x7", "std::vector<double>", &t_eleEne7x7);
1365  tree_->Branch("t_muEne7x7", "std::vector<double>", &t_muEne7x7);
1366 
1367  tree_->Branch("t_maxNearP3x3", "std::vector<double>", &t_maxNearP3x3);
1368  tree_->Branch("t_cHadronEne3x3", "std::vector<double>", &t_cHadronEne3x3);
1369  tree_->Branch("t_cHadronEne3x3_1", "std::vector<double>", &t_cHadronEne3x3_1);
1370  tree_->Branch("t_cHadronEne3x3_2", "std::vector<double>", &t_cHadronEne3x3_2);
1371  tree_->Branch("t_cHadronEne3x3_3", "std::vector<double>", &t_cHadronEne3x3_3);
1372  tree_->Branch("t_nHadronEne3x3", "std::vector<double>", &t_nHadronEne3x3);
1373  tree_->Branch("t_photonEne3x3", "std::vector<double>", &t_photonEne3x3);
1374  tree_->Branch("t_eleEne3x3", "std::vector<double>", &t_eleEne3x3);
1375  tree_->Branch("t_muEne3x3", "std::vector<double>", &t_muEne3x3);
1376 
1377  tree_->Branch("t_maxNearP1x1", "std::vector<double>", &t_maxNearP1x1);
1378  tree_->Branch("t_cHadronEne1x1", "std::vector<double>", &t_cHadronEne1x1);
1379  tree_->Branch("t_cHadronEne1x1_1", "std::vector<double>", &t_cHadronEne1x1_1);
1380  tree_->Branch("t_cHadronEne1x1_2", "std::vector<double>", &t_cHadronEne1x1_2);
1381  tree_->Branch("t_cHadronEne1x1_3", "std::vector<double>", &t_cHadronEne1x1_3);
1382  tree_->Branch("t_nHadronEne1x1", "std::vector<double>", &t_nHadronEne1x1);
1383  tree_->Branch("t_photonEne1x1", "std::vector<double>", &t_photonEne1x1);
1384  tree_->Branch("t_eleEne1x1", "std::vector<double>", &t_eleEne1x1);
1385  tree_->Branch("t_muEne1x1", "std::vector<double>", &t_muEne1x1);
1386 
1387  tree_->Branch("t_maxNearPHC1x1", "std::vector<double>", &t_maxNearPHC1x1);
1388  tree_->Branch("t_cHadronEneHC1x1", "std::vector<double>", &t_cHadronEneHC1x1);
1389  tree_->Branch("t_cHadronEneHC1x1_1", "std::vector<double>", &t_cHadronEneHC1x1_1);
1390  tree_->Branch("t_cHadronEneHC1x1_2", "std::vector<double>", &t_cHadronEneHC1x1_2);
1391  tree_->Branch("t_cHadronEneHC1x1_3", "std::vector<double>", &t_cHadronEneHC1x1_3);
1392  tree_->Branch("t_nHadronEneHC1x1", "std::vector<double>", &t_nHadronEneHC1x1);
1393  tree_->Branch("t_photonEneHC1x1", "std::vector<double>", &t_photonEneHC1x1);
1394  tree_->Branch("t_eleEneHC1x1", "std::vector<double>", &t_eleEneHC1x1);
1395  tree_->Branch("t_muEneHC1x1", "std::vector<double>", &t_muEneHC1x1);
1396 
1397  tree_->Branch("t_maxNearPHC3x3", "std::vector<double>", &t_maxNearPHC3x3);
1398  tree_->Branch("t_cHadronEneHC3x3", "std::vector<double>", &t_cHadronEneHC3x3);
1399  tree_->Branch("t_cHadronEneHC3x3_1", "std::vector<double>", &t_cHadronEneHC3x3_1);
1400  tree_->Branch("t_cHadronEneHC3x3_2", "std::vector<double>", &t_cHadronEneHC3x3_2);
1401  tree_->Branch("t_cHadronEneHC3x3_3", "std::vector<double>", &t_cHadronEneHC3x3_3);
1402  tree_->Branch("t_nHadronEneHC3x3", "std::vector<double>", &t_nHadronEneHC3x3);
1403  tree_->Branch("t_photonEneHC3x3", "std::vector<double>", &t_photonEneHC3x3);
1404  tree_->Branch("t_eleEneHC3x3", "std::vector<double>", &t_eleEneHC3x3);
1405  tree_->Branch("t_muEneHC3x3", "std::vector<double>", &t_muEneHC3x3);
1406 
1407  tree_->Branch("t_maxNearPHC5x5", "std::vector<double>", &t_maxNearPHC5x5);
1408  tree_->Branch("t_cHadronEneHC5x5", "std::vector<double>", &t_cHadronEneHC5x5);
1409  tree_->Branch("t_cHadronEneHC5x5_1", "std::vector<double>", &t_cHadronEneHC5x5_1);
1410  tree_->Branch("t_cHadronEneHC5x5_2", "std::vector<double>", &t_cHadronEneHC5x5_2);
1411  tree_->Branch("t_cHadronEneHC5x5_3", "std::vector<double>", &t_cHadronEneHC5x5_3);
1412  tree_->Branch("t_nHadronEneHC5x5", "std::vector<double>", &t_nHadronEneHC5x5);
1413  tree_->Branch("t_photonEneHC5x5", "std::vector<double>", &t_photonEneHC5x5);
1414  tree_->Branch("t_eleEneHC5x5", "std::vector<double>", &t_eleEneHC5x5);
1415  tree_->Branch("t_muEneHC5x5", "std::vector<double>", &t_muEneHC5x5);
1416 
1417  tree_->Branch("t_maxNearPHC7x7", "std::vector<double>", &t_maxNearPHC7x7);
1418  tree_->Branch("t_cHadronEneHC7x7", "std::vector<double>", &t_cHadronEneHC7x7);
1419  tree_->Branch("t_cHadronEneHC7x7_1", "std::vector<double>", &t_cHadronEneHC7x7_1);
1420  tree_->Branch("t_cHadronEneHC7x7_2", "std::vector<double>", &t_cHadronEneHC7x7_2);
1421  tree_->Branch("t_cHadronEneHC7x7_3", "std::vector<double>", &t_cHadronEneHC7x7_3);
1422  tree_->Branch("t_nHadronEneHC7x7", "std::vector<double>", &t_nHadronEneHC7x7);
1423  tree_->Branch("t_photonEneHC7x7", "std::vector<double>", &t_photonEneHC7x7);
1424  tree_->Branch("t_eleEneHC7x7", "std::vector<double>", &t_eleEneHC7x7);
1425  tree_->Branch("t_muEneHC7x7", "std::vector<double>", &t_muEneHC7x7);
1426 
1427  tree_->Branch("t_maxNearPR", "std::vector<double>", &t_maxNearPR);
1428  tree_->Branch("t_cHadronEneR", "std::vector<double>", &t_cHadronEneR);
1429  tree_->Branch("t_cHadronEneR_1", "std::vector<double>", &t_cHadronEneR_1);
1430  tree_->Branch("t_cHadronEneR_2", "std::vector<double>", &t_cHadronEneR_2);
1431  tree_->Branch("t_cHadronEneR_3", "std::vector<double>", &t_cHadronEneR_3);
1432  tree_->Branch("t_nHadronEneR", "std::vector<double>", &t_nHadronEneR);
1433  tree_->Branch("t_photonEneR", "std::vector<double>", &t_photonEneR);
1434  tree_->Branch("t_eleEneR", "std::vector<double>", &t_eleEneR);
1435  tree_->Branch("t_muEneR", "std::vector<double>", &t_muEneR);
1436 
1437  tree_->Branch("t_maxNearPIsoR", "std::vector<double>", &t_maxNearPIsoR);
1438  tree_->Branch("t_cHadronEneIsoR", "std::vector<double>", &t_cHadronEneIsoR);
1439  tree_->Branch("t_cHadronEneIsoR_1", "std::vector<double>", &t_cHadronEneIsoR_1);
1440  tree_->Branch("t_cHadronEneIsoR_2", "std::vector<double>", &t_cHadronEneIsoR_2);
1441  tree_->Branch("t_cHadronEneIsoR_3", "std::vector<double>", &t_cHadronEneIsoR_3);
1442  tree_->Branch("t_nHadronEneIsoR", "std::vector<double>", &t_nHadronEneIsoR);
1443  tree_->Branch("t_photonEneIsoR", "std::vector<double>", &t_photonEneIsoR);
1444  tree_->Branch("t_eleEneIsoR", "std::vector<double>", &t_eleEneIsoR);
1445  tree_->Branch("t_muEneIsoR", "std::vector<double>", &t_muEneIsoR);
1446 
1447  tree_->Branch("t_maxNearPHCR", "std::vector<double>", &t_maxNearPHCR);
1448  tree_->Branch("t_cHadronEneHCR", "std::vector<double>", &t_cHadronEneHCR);
1449  tree_->Branch("t_cHadronEneHCR_1", "std::vector<double>", &t_cHadronEneHCR_1);
1450  tree_->Branch("t_cHadronEneHCR_2", "std::vector<double>", &t_cHadronEneHCR_2);
1451  tree_->Branch("t_cHadronEneHCR_3", "std::vector<double>", &t_cHadronEneHCR_3);
1452  tree_->Branch("t_nHadronEneHCR", "std::vector<double>", &t_nHadronEneHCR);
1453  tree_->Branch("t_photonEneHCR", "std::vector<double>", &t_photonEneHCR);
1454  tree_->Branch("t_eleEneHCR", "std::vector<double>", &t_eleEneHCR);
1455  tree_->Branch("t_muEneHCR", "std::vector<double>", &t_muEneHCR);
1456 
1457  tree_->Branch("t_maxNearPIsoHCR", "std::vector<double>", &t_maxNearPIsoHCR);
1458  tree_->Branch("t_cHadronEneIsoHCR", "std::vector<double>", &t_cHadronEneIsoHCR);
1459  tree_->Branch("t_cHadronEneIsoHCR_1", "std::vector<double>", &t_cHadronEneIsoHCR_1);
1460  tree_->Branch("t_cHadronEneIsoHCR_2", "std::vector<double>", &t_cHadronEneIsoHCR_2);
1461  tree_->Branch("t_cHadronEneIsoHCR_3", "std::vector<double>", &t_cHadronEneIsoHCR_3);
1462  tree_->Branch("t_nHadronEneIsoHCR", "std::vector<double>", &t_nHadronEneIsoHCR);
1463  tree_->Branch("t_photonEneIsoHCR", "std::vector<double>", &t_photonEneIsoHCR);
1464  tree_->Branch("t_eleEneIsoHCR", "std::vector<double>", &t_eleEneIsoHCR);
1465  tree_->Branch("t_muEneIsoHCR", "std::vector<double>", &t_muEneIsoHCR);
1466 
1467  tree_->Branch("t_L1Decision", "std::vector<int>", &t_L1Decision);
1468  tree_->Branch("t_L1CenJetPt", "std::vector<double>", &t_L1CenJetPt);
1469  tree_->Branch("t_L1CenJetEta", "std::vector<double>", &t_L1CenJetEta);
1470  tree_->Branch("t_L1CenJetPhi", "std::vector<double>", &t_L1CenJetPhi);
1471  tree_->Branch("t_L1FwdJetPt", "std::vector<double>", &t_L1FwdJetPt);
1472  tree_->Branch("t_L1FwdJetEta", "std::vector<double>", &t_L1FwdJetEta);
1473  tree_->Branch("t_L1FwdJetPhi", "std::vector<double>", &t_L1FwdJetPhi);
1474  tree_->Branch("t_L1TauJetPt", "std::vector<double>", &t_L1TauJetPt);
1475  tree_->Branch("t_L1TauJetEta", "std::vector<double>", &t_L1TauJetEta);
1476  tree_->Branch("t_L1TauJetPhi", "std::vector<double>", &t_L1TauJetPhi);
1477  tree_->Branch("t_L1MuonPt", "std::vector<double>", &t_L1MuonPt);
1478  tree_->Branch("t_L1MuonEta", "std::vector<double>", &t_L1MuonEta);
1479  tree_->Branch("t_L1MuonPhi", "std::vector<double>", &t_L1MuonPhi);
1480  tree_->Branch("t_L1IsoEMPt", "std::vector<double>", &t_L1IsoEMPt);
1481  tree_->Branch("t_L1IsoEMEta", "std::vector<double>", &t_L1IsoEMEta);
1482  tree_->Branch("t_L1IsoEMPhi", "std::vector<double>", &t_L1IsoEMPhi);
1483  tree_->Branch("t_L1NonIsoEMPt", "std::vector<double>", &t_L1NonIsoEMPt);
1484  tree_->Branch("t_L1NonIsoEMEta", "std::vector<double>", &t_L1NonIsoEMEta);
1485  tree_->Branch("t_L1NonIsoEMPhi", "std::vector<double>", &t_L1NonIsoEMPhi);
1486  tree_->Branch("t_L1METPt", "std::vector<double>", &t_L1METPt);
1487  tree_->Branch("t_L1METEta", "std::vector<double>", &t_L1METEta);
1488  tree_->Branch("t_L1METPhi", "std::vector<double>", &t_L1METPhi);
1489 }
1490 
1492  // t_maxNearP31x31 ->clear();
1493  // t_nEvtProc ->clear();
1494 
1495  t_isoTrkPAll->clear();
1496  t_isoTrkPtAll->clear();
1497  t_isoTrkPhiAll->clear();
1498  t_isoTrkEtaAll->clear();
1499  t_isoTrkDPhiAll->clear();
1500  t_isoTrkDEtaAll->clear();
1501  t_isoTrkPdgIdAll->clear();
1502 
1503  t_isoTrkP->clear();
1504  t_isoTrkPt->clear();
1505  t_isoTrkEne->clear();
1506  t_isoTrkEta->clear();
1507  t_isoTrkPhi->clear();
1508  t_isoTrkEtaEC->clear();
1509  t_isoTrkPhiEC->clear();
1510  t_isoTrkPdgId->clear();
1511 
1512  t_maxNearP31x31->clear();
1513  t_cHadronEne31x31->clear();
1514  t_cHadronEne31x31_1->clear();
1515  t_cHadronEne31x31_2->clear();
1516  t_cHadronEne31x31_3->clear();
1517  t_nHadronEne31x31->clear();
1518  t_photonEne31x31->clear();
1519  t_eleEne31x31->clear();
1520  t_muEne31x31->clear();
1521 
1522  t_maxNearP25x25->clear();
1523  t_cHadronEne25x25->clear();
1524  t_cHadronEne25x25_1->clear();
1525  t_cHadronEne25x25_2->clear();
1526  t_cHadronEne25x25_3->clear();
1527  t_nHadronEne25x25->clear();
1528  t_photonEne25x25->clear();
1529  t_eleEne25x25->clear();
1530  t_muEne25x25->clear();
1531 
1532  t_maxNearP21x21->clear();
1533  t_cHadronEne21x21->clear();
1534  t_cHadronEne21x21_1->clear();
1535  t_cHadronEne21x21_2->clear();
1536  t_cHadronEne21x21_3->clear();
1537  t_nHadronEne21x21->clear();
1538  t_photonEne21x21->clear();
1539  t_eleEne21x21->clear();
1540  t_muEne21x21->clear();
1541 
1542  t_maxNearP15x15->clear();
1543  t_cHadronEne15x15->clear();
1544  t_cHadronEne15x15_1->clear();
1545  t_cHadronEne15x15_2->clear();
1546  t_cHadronEne15x15_3->clear();
1547  t_nHadronEne15x15->clear();
1548  t_photonEne15x15->clear();
1549  t_eleEne15x15->clear();
1550  t_muEne15x15->clear();
1551 
1552  t_maxNearP11x11->clear();
1553  t_cHadronEne11x11->clear();
1554  t_cHadronEne11x11_1->clear();
1555  t_cHadronEne11x11_2->clear();
1556  t_cHadronEne11x11_3->clear();
1557  t_nHadronEne11x11->clear();
1558  t_photonEne11x11->clear();
1559  t_eleEne11x11->clear();
1560  t_muEne11x11->clear();
1561 
1562  t_maxNearP9x9->clear();
1563  t_cHadronEne9x9->clear();
1564  t_cHadronEne9x9_1->clear();
1565  t_cHadronEne9x9_2->clear();
1566  t_cHadronEne9x9_3->clear();
1567  t_nHadronEne9x9->clear();
1568  t_photonEne9x9->clear();
1569  t_eleEne9x9->clear();
1570  t_muEne9x9->clear();
1571 
1572  t_maxNearP7x7->clear();
1573  t_cHadronEne7x7->clear();
1574  t_cHadronEne7x7_1->clear();
1575  t_cHadronEne7x7_2->clear();
1576  t_cHadronEne7x7_3->clear();
1577  t_nHadronEne7x7->clear();
1578  t_photonEne7x7->clear();
1579  t_eleEne7x7->clear();
1580  t_muEne7x7->clear();
1581 
1582  t_maxNearP3x3->clear();
1583  t_cHadronEne3x3->clear();
1584  t_cHadronEne3x3_1->clear();
1585  t_cHadronEne3x3_2->clear();
1586  t_cHadronEne3x3_3->clear();
1587  t_nHadronEne3x3->clear();
1588  t_photonEne3x3->clear();
1589  t_eleEne3x3->clear();
1590  t_muEne3x3->clear();
1591 
1592  t_maxNearP1x1->clear();
1593  t_cHadronEne1x1->clear();
1594  t_cHadronEne1x1_1->clear();
1595  t_cHadronEne1x1_2->clear();
1596  t_cHadronEne1x1_3->clear();
1597  t_nHadronEne1x1->clear();
1598  t_photonEne1x1->clear();
1599  t_eleEne1x1->clear();
1600  t_muEne1x1->clear();
1601 
1602  t_maxNearPHC1x1->clear();
1603  t_cHadronEneHC1x1->clear();
1604  t_cHadronEneHC1x1_1->clear();
1605  t_cHadronEneHC1x1_2->clear();
1606  t_cHadronEneHC1x1_3->clear();
1607  t_nHadronEneHC1x1->clear();
1608  t_photonEneHC1x1->clear();
1609  t_eleEneHC1x1->clear();
1610  t_muEneHC1x1->clear();
1611 
1612  t_maxNearPHC3x3->clear();
1613  t_cHadronEneHC3x3->clear();
1614  t_cHadronEneHC3x3_1->clear();
1615  t_cHadronEneHC3x3_2->clear();
1616  t_cHadronEneHC3x3_3->clear();
1617  t_nHadronEneHC3x3->clear();
1618  t_photonEneHC3x3->clear();
1619  t_eleEneHC3x3->clear();
1620  t_muEneHC3x3->clear();
1621 
1622  t_maxNearPHC5x5->clear();
1623  t_cHadronEneHC5x5->clear();
1624  t_cHadronEneHC5x5_1->clear();
1625  t_cHadronEneHC5x5_2->clear();
1626  t_cHadronEneHC5x5_3->clear();
1627  t_nHadronEneHC5x5->clear();
1628  t_photonEneHC5x5->clear();
1629  t_eleEneHC5x5->clear();
1630  t_muEneHC5x5->clear();
1631 
1632  t_maxNearPHC7x7->clear();
1633  t_cHadronEneHC7x7->clear();
1634  t_cHadronEneHC7x7_1->clear();
1635  t_cHadronEneHC7x7_2->clear();
1636  t_cHadronEneHC7x7_3->clear();
1637  t_nHadronEneHC7x7->clear();
1638  t_photonEneHC7x7->clear();
1639  t_eleEneHC7x7->clear();
1640  t_muEneHC7x7->clear();
1641 
1642  t_maxNearPR->clear();
1643  t_cHadronEneR->clear();
1644  t_cHadronEneR_1->clear();
1645  t_cHadronEneR_2->clear();
1646  t_cHadronEneR_3->clear();
1647  t_nHadronEneR->clear();
1648  t_photonEneR->clear();
1649  t_eleEneR->clear();
1650  t_muEneR->clear();
1651 
1652  t_maxNearPIsoR->clear();
1653  t_cHadronEneIsoR->clear();
1654  t_cHadronEneIsoR_1->clear();
1655  t_cHadronEneIsoR_2->clear();
1656  t_cHadronEneIsoR_3->clear();
1657  t_nHadronEneIsoR->clear();
1658  t_photonEneIsoR->clear();
1659  t_eleEneIsoR->clear();
1660  t_muEneIsoR->clear();
1661 
1662  t_maxNearPHCR->clear();
1663  t_cHadronEneHCR->clear();
1664  t_cHadronEneHCR_1->clear();
1665  t_cHadronEneHCR_2->clear();
1666  t_cHadronEneHCR_3->clear();
1667  t_nHadronEneHCR->clear();
1668  t_photonEneHCR->clear();
1669  t_eleEneHCR->clear();
1670  t_muEneHCR->clear();
1671 
1672  t_maxNearPIsoHCR->clear();
1673  t_cHadronEneIsoHCR->clear();
1674  t_cHadronEneIsoHCR_1->clear();
1675  t_cHadronEneIsoHCR_2->clear();
1676  t_cHadronEneIsoHCR_3->clear();
1677  t_nHadronEneIsoHCR->clear();
1678  t_photonEneIsoHCR->clear();
1679  t_eleEneIsoHCR->clear();
1680  t_muEneIsoHCR->clear();
1681 
1682  t_L1Decision->clear();
1683  t_L1CenJetPt->clear();
1684  t_L1CenJetEta->clear();
1685  t_L1CenJetPhi->clear();
1686  t_L1FwdJetPt->clear();
1687  t_L1FwdJetEta->clear();
1688  t_L1FwdJetPhi->clear();
1689  t_L1TauJetPt->clear();
1690  t_L1TauJetEta->clear();
1691  t_L1TauJetPhi->clear();
1692  t_L1MuonPt->clear();
1693  t_L1MuonEta->clear();
1694  t_L1MuonPhi->clear();
1695  t_L1IsoEMPt->clear();
1696  t_L1IsoEMEta->clear();
1697  t_L1IsoEMPhi->clear();
1698  t_L1NonIsoEMPt->clear();
1699  t_L1NonIsoEMEta->clear();
1700  t_L1NonIsoEMPhi->clear();
1701  t_L1METPt->clear();
1702  t_L1METEta->clear();
1703  t_L1METPhi->clear();
1704 }
1705 
1707  int partID[Particles] = {11, -11, 21, 211, -211, 321, -321, 2212, 2112, -2212, -2112, 130};
1708  int ix = -1;
1709  for (int ik = 0; ik < Particles; ++ik) {
1710  if (pdgId == partID[ik]) {
1711  ix = ik;
1712  break;
1713  }
1714  }
1715  return ix;
1716 }
1717 
1718 //define this as a plug-in
IsolatedGenParticles::tok_L1extNonIsoEm_
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1extNonIsoEm_
Definition: IsolatedGenParticles.cc:156
IsolatedGenParticles::etaMax_
double etaMax_
Definition: IsolatedGenParticles.cc:138
IsolatedGenParticles::t_maxNearP3x3
std::vector< double > * t_maxNearP3x3
Definition: IsolatedGenParticles.cc:233
IsolatedGenParticles::t_L1NonIsoEMEta
std::vector< double > * t_L1NonIsoEMEta
Definition: IsolatedGenParticles.cc:309
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
change_name.diff
diff
Definition: change_name.py:13
IsolatedGenParticles::t_maxNearPIsoHCR
std::vector< double > * t_maxNearPIsoHCR
Definition: IsolatedGenParticles.cc:296
IsolatedGenParticles::t_cHadronEneIsoR_3
std::vector< double > * t_cHadronEneIsoR_3
Definition: IsolatedGenParticles.cc:283
L1GtTriggerMenu.h
IsolatedGenParticles::t_cHadronEne21x21
std::vector< double > * t_cHadronEne21x21
Definition: IsolatedGenParticles.cc:199
IsolatedGenParticles::t_cHadronEne11x11
std::vector< double > * t_cHadronEne11x11
Definition: IsolatedGenParticles.cc:213
IsolatedGenParticles::t_photonEneHC1x1
std::vector< double > * t_photonEneHC1x1
Definition: IsolatedGenParticles.cc:250
IsolatedGenParticles::t_cHadronEne11x11_3
std::vector< double > * t_cHadronEne11x11_3
Definition: IsolatedGenParticles.cc:213
IsolatedGenParticles::t_isoTrkPAll
std::vector< double > * t_isoTrkPAll
Definition: IsolatedGenParticles.cc:167
IsolatedGenParticles::t_cHadronEneHCR
std::vector< double > * t_cHadronEneHCR
Definition: IsolatedGenParticles.cc:290
electrons_cff.bool
bool
Definition: electrons_cff.py:372
EDAnalyzer.h
IsolatedGenParticles::t_cHadronEne15x15_1
std::vector< double > * t_cHadronEne15x15_1
Definition: IsolatedGenParticles.cc:206
mps_fire.i
i
Definition: mps_fire.py:355
IsolatedGenParticles::t_cHadronEne7x7_3
std::vector< double > * t_cHadronEne7x7_3
Definition: IsolatedGenParticles.cc:227
spr::genSimInfo::eleEne
double eleEne
Definition: GenSimInfo.h:46
FreeTrajectoryState.h
CaloNavigator.h
IsolatedGenParticles::t_eleEneHC3x3
std::vector< double > * t_eleEneHC3x3
Definition: IsolatedGenParticles.cc:258
genParticles2HepMC_cfi.genParticles
genParticles
Definition: genParticles2HepMC_cfi.py:4
IsolatedGenParticles::t_isoTrkPhiEC
std::vector< double > * t_isoTrkPhiEC
Definition: IsolatedGenParticles.cc:181
IsolatedGenParticles::a_coneR_
double a_coneR_
Definition: IsolatedGenParticles.cc:148
funct::false
false
Definition: Factorize.h:34
IsolatedGenParticles::fillIsolatedTrack
void fillIsolatedTrack(math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId)
Definition: IsolatedGenParticles.cc:858
IsolatedGenParticles::t_cHadronEne11x11_2
std::vector< double > * t_cHadronEne11x11_2
Definition: IsolatedGenParticles.cc:213
IsolatedGenParticles::t_nHadronEne1x1
std::vector< double > * t_nHadronEne1x1
Definition: IsolatedGenParticles.cc:242
IsolatedGenParticles::t_maxNearP1x1
std::vector< double > * t_maxNearP1x1
Definition: IsolatedGenParticles.cc:240
L1MuonParticleFwd.h
IsolatedGenParticles::t_maxNearP31x31
std::vector< double > * t_maxNearP31x31
Definition: IsolatedGenParticles.cc:184
IsolatedGenParticles::t_cHadronEneIsoR
std::vector< double > * t_cHadronEneIsoR
Definition: IsolatedGenParticles.cc:283
ESHandle.h
IsolatedGenParticles::t_cHadronEneHC3x3_1
std::vector< double > * t_cHadronEneHC3x3_1
Definition: IsolatedGenParticles.cc:255
etaBin
int etaBin(const l1t::HGCalMulticluster *cl)
Definition: L1EGammaEEProducer.cc:19
IsolatedGenParticles::t_eleEneHCR
std::vector< double > * t_eleEneHCR
Definition: IsolatedGenParticles.cc:293
IsolatedGenParticles::t_nHadronEneHC3x3
std::vector< double > * t_nHadronEneHC3x3
Definition: IsolatedGenParticles.cc:256
IsolatedGenParticles::t_cHadronEne15x15_2
std::vector< double > * t_cHadronEne15x15_2
Definition: IsolatedGenParticles.cc:206
IsolatedGenParticles::t_cHadronEne1x1_2
std::vector< double > * t_cHadronEne1x1_2
Definition: IsolatedGenParticles.cc:241
GenSimInfo.h
IsolatedGenParticles::t_muEne15x15
std::vector< double > * t_muEne15x15
Definition: IsolatedGenParticles.cc:210
IsolatedGenParticles::t_isoTrkPhiAll
std::vector< double > * t_isoTrkPhiAll
Definition: IsolatedGenParticles.cc:169
L1GlobalTriggerReadoutSetupFwd.h
edm::EDGetTokenT< edm::HepMCProduct >
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
IsolatedGenParticles::NEtaBins_
static constexpr int NEtaBins_
Definition: IsolatedGenParticles.cc:134
IsolatedGenParticles::t_muEne7x7
std::vector< double > * t_muEne7x7
Definition: IsolatedGenParticles.cc:231
IsolatedGenParticles::tree_
TTree * tree_
Definition: IsolatedGenParticles.cc:165
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
IsolatedGenParticles::t_L1MuonEta
std::vector< double > * t_L1MuonEta
Definition: IsolatedGenParticles.cc:307
L1GtTriggerMenuRcd.h
IsolatedGenParticles::t_muEne31x31
std::vector< double > * t_muEne31x31
Definition: IsolatedGenParticles.cc:189
IsolatedGenParticles::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: IsolatedGenParticles.cc:391
IsolatedGenParticles::t_L1CenJetPt
std::vector< double > * t_L1CenJetPt
Definition: IsolatedGenParticles.cc:304
HcalTopology
Definition: HcalTopology.h:26
IsolatedGenParticles::particleCode
int particleCode(int)
Definition: IsolatedGenParticles.cc:1706
EBDetId.h
HLT_2018_cff.eta1
eta1
Definition: HLT_2018_cff.py:8220
EEDetId.h
IsolatedGenParticles::t_L1NonIsoEMPt
std::vector< double > * t_L1NonIsoEMPt
Definition: IsolatedGenParticles.cc:309
IsolatedGenParticles::t_maxNearP21x21
std::vector< double > * t_maxNearP21x21
Definition: IsolatedGenParticles.cc:198
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
IsolatedGenParticles::t_eleEneR
std::vector< double > * t_eleEneR
Definition: IsolatedGenParticles.cc:279
IsolatedGenParticles::isoinfo11x11
spr::genSimInfo isoinfo11x11
Definition: IsolatedGenParticles.cc:312
IsolatedGenParticles::t_L1IsoEMPhi
std::vector< double > * t_L1IsoEMPhi
Definition: IsolatedGenParticles.cc:308
IsolatedGenParticles::t_cHadronEne9x9_3
std::vector< double > * t_cHadronEne9x9_3
Definition: IsolatedGenParticles.cc:220
IsolatedGenParticles::t_cHadronEne9x9_1
std::vector< double > * t_cHadronEne9x9_1
Definition: IsolatedGenParticles.cc:220
IsolatedGenParticles::t_eleEneIsoR
std::vector< double > * t_eleEneIsoR
Definition: IsolatedGenParticles.cc:286
IsolatedGenParticles::t_cHadronEneR_2
std::vector< double > * t_cHadronEneR_2
Definition: IsolatedGenParticles.cc:276
IsolatedGenParticles::tok_genParticles_
edm::EDGetTokenT< reco::GenParticleCollection > tok_genParticles_
Definition: IsolatedGenParticles.cc:143
IsolatedGenParticles::t_eleEneHC1x1
std::vector< double > * t_eleEneHC1x1
Definition: IsolatedGenParticles.cc:251
IsolatedGenParticles::isoinfo9x9
spr::genSimInfo isoinfo9x9
Definition: IsolatedGenParticles.cc:312
IsolatedGenParticles::t_eleEne25x25
std::vector< double > * t_eleEne25x25
Definition: IsolatedGenParticles.cc:195
IsolatedGenParticles::isoinfoIsoR
spr::genSimInfo isoinfoIsoR
Definition: IsolatedGenParticles.cc:315
IsolatedGenParticles::t_cHadronEne3x3_1
std::vector< double > * t_cHadronEne3x3_1
Definition: IsolatedGenParticles.cc:234
IsolatedGenParticles::h_NEventProc
TH1I * h_NEventProc
Definition: IsolatedGenParticles.cc:162
IsolatedGenParticles::t_maxNearPHC5x5
std::vector< double > * t_maxNearPHC5x5
Definition: IsolatedGenParticles.cc:261
IsolatedGenParticles::t_muEne11x11
std::vector< double > * t_muEne11x11
Definition: IsolatedGenParticles.cc:217
IsolatedGenParticles::t_cHadronEne1x1
std::vector< double > * t_cHadronEne1x1
Definition: IsolatedGenParticles.cc:241
TFileDirectory
Definition: TFileDirectory.h:24
CaloTopologyRecord
Definition: CaloTopologyRecord.h:10
IsolatedGenParticles::t_cHadronEneHC5x5_3
std::vector< double > * t_cHadronEneHC5x5_3
Definition: IsolatedGenParticles.cc:262
IsolatedGenParticles::t_cHadronEneIsoHCR_3
std::vector< double > * t_cHadronEneIsoHCR_3
Definition: IsolatedGenParticles.cc:297
edm::one::EDAnalyzer
Definition: EDAnalyzer.h:30
IsolatedGenParticles::t_cHadronEne25x25_1
std::vector< double > * t_cHadronEne25x25_1
Definition: IsolatedGenParticles.cc:192
IsolatedGenParticles::nEventProc
int nEventProc
Definition: IsolatedGenParticles.cc:136
IsolatedGenParticles::t_cHadronEne21x21_1
std::vector< double > * t_cHadronEne21x21_1
Definition: IsolatedGenParticles.cc:199
IsolatedGenParticles::t_photonEne11x11
std::vector< double > * t_photonEne11x11
Definition: IsolatedGenParticles.cc:215
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
edm::Handle< edm::HepMCProduct >
IsolatedGenParticles::t_eleEne15x15
std::vector< double > * t_eleEne15x15
Definition: IsolatedGenParticles.cc:209
IsolatedGenParticles::t_photonEne3x3
std::vector< double > * t_photonEne3x3
Definition: IsolatedGenParticles.cc:236
IsolatedGenParticles::t_cHadronEneHCR_2
std::vector< double > * t_cHadronEneHCR_2
Definition: IsolatedGenParticles.cc:290
IsolatedGenParticles::t_cHadronEne9x9
std::vector< double > * t_cHadronEne9x9
Definition: IsolatedGenParticles.cc:220
IsolatedGenParticles::t_nHadronEne3x3
std::vector< double > * t_nHadronEne3x3
Definition: IsolatedGenParticles.cc:235
CaloTopology
Definition: CaloTopology.h:19
IsolatedGenParticles::fillTrack
void fillTrack(GlobalPoint &posVec, math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId, bool okECAL, bool accpet)
Definition: IsolatedGenParticles.cc:833
IsolatedGenParticles::t_maxNearP9x9
std::vector< double > * t_maxNearP9x9
Definition: IsolatedGenParticles.cc:219
IsolatedGenParticles::t_photonEne15x15
std::vector< double > * t_photonEne15x15
Definition: IsolatedGenParticles.cc:208
IsolatedGenParticles::t_isoTrkEta
std::vector< double > * t_isoTrkEta
Definition: IsolatedGenParticles.cc:178
IsolatedGenParticles::tok_hepmc_
edm::EDGetTokenT< edm::HepMCProduct > tok_hepmc_
Definition: IsolatedGenParticles.cc:142
IsolatedGenParticles::t_maxNearPHC3x3
std::vector< double > * t_maxNearPHC3x3
Definition: IsolatedGenParticles.cc:254
EcalRecHitCollections.h
IsolatedGenParticles::t_nHadronEne7x7
std::vector< double > * t_nHadronEne7x7
Definition: IsolatedGenParticles.cc:228
IsolatedGenParticles::tok_L1extFwdJet_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extFwdJet_
Definition: IsolatedGenParticles.cc:159
IsolatedGenParticles::t_L1FwdJetEta
std::vector< double > * t_L1FwdJetEta
Definition: IsolatedGenParticles.cc:305
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
IsolatedGenParticles::t_nHadronEne15x15
std::vector< double > * t_nHadronEne15x15
Definition: IsolatedGenParticles.cc:207
IsolatedGenParticles::t_cHadronEne15x15_3
std::vector< double > * t_cHadronEne15x15_3
Definition: IsolatedGenParticles.cc:206
IsolatedGenParticles::t_isoTrkEtaEC
std::vector< double > * t_isoTrkEtaEC
Definition: IsolatedGenParticles.cc:180
IsolatedGenParticles::isoinfo15x15
spr::genSimInfo isoinfo15x15
Definition: IsolatedGenParticles.cc:313
IsolatedGenParticles::t_photonEne9x9
std::vector< double > * t_photonEne9x9
Definition: IsolatedGenParticles.cc:222
IsolatedGenParticles::tok_L1GTobjmap_
edm::EDGetTokenT< L1GlobalTriggerObjectMapRecord > tok_L1GTobjmap_
Definition: IsolatedGenParticles.cc:153
IsolatedGenParticles::genPartPBins_
double genPartPBins_[NPBins_+1]
Definition: IsolatedGenParticles.cc:137
IsolatedGenParticles::t_photonEne21x21
std::vector< double > * t_photonEne21x21
Definition: IsolatedGenParticles.cc:201
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
accept
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
IsolatedGenParticles::t_cHadronEne25x25_3
std::vector< double > * t_cHadronEne25x25_3
Definition: IsolatedGenParticles.cc:192
MakerMacros.h
IsolatedGenParticles::t_cHadronEneHCR_3
std::vector< double > * t_cHadronEneHCR_3
Definition: IsolatedGenParticles.cc:290
IsolatedGenParticles::t_maxNearPR
std::vector< double > * t_maxNearPR
Definition: IsolatedGenParticles.cc:275
IsolatedGenParticles::t_cHadronEneIsoR_1
std::vector< double > * t_cHadronEneIsoR_1
Definition: IsolatedGenParticles.cc:283
IsolatedGenParticles::t_cHadronEne7x7
std::vector< double > * t_cHadronEne7x7
Definition: IsolatedGenParticles.cc:227
CaloGeometry
Definition: CaloGeometry.h:21
IsolatedGenParticles::t_maxNearPHCR
std::vector< double > * t_maxNearPHCR
Definition: IsolatedGenParticles.cc:289
IsolatedGenParticles::t_isoTrkP
std::vector< double > * t_isoTrkP
Definition: IsolatedGenParticles.cc:175
IsolatedGenParticles::t_isoTrkEne
std::vector< double > * t_isoTrkEne
Definition: IsolatedGenParticles.cc:177
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
IsolatedGenParticles::t_isoTrkDPhiAll
std::vector< double > * t_isoTrkDPhiAll
Definition: IsolatedGenParticles.cc:173
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
IsolatedGenParticles::t_isoTrkPtAll
std::vector< double > * t_isoTrkPtAll
Definition: IsolatedGenParticles.cc:168
IsolatedGenParticles::t_cHadronEne1x1_1
std::vector< double > * t_cHadronEne1x1_1
Definition: IsolatedGenParticles.cc:241
IsolatedGenParticles::bookHistograms
void bookHistograms()
Definition: IsolatedGenParticles.cc:1039
alignCSCRings.corr
dictionary corr
Definition: alignCSCRings.py:124
Service.h
PVValHelper::eta
Definition: PVValidationHelpers.h:69
spr::genSimInfo::muEne
double muEne
Definition: GenSimInfo.h:46
ChargeIsolation.h
IsolatedGenParticles::t_nHadronEne25x25
std::vector< double > * t_nHadronEne25x25
Definition: IsolatedGenParticles.cc:193
IsolatedGenParticles::isoinfoR
spr::genSimInfo isoinfoR
Definition: IsolatedGenParticles.cc:315
IsolatedGenParticles::t_cHadronEne9x9_2
std::vector< double > * t_cHadronEne9x9_2
Definition: IsolatedGenParticles.cc:220
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
IsolatedGenParticles::isoinfo25x25
spr::genSimInfo isoinfo25x25
Definition: IsolatedGenParticles.cc:313
IsolatedGenParticles::t_cHadronEne21x21_2
std::vector< double > * t_cHadronEne21x21_2
Definition: IsolatedGenParticles.cc:199
IsolatedGenParticles::a_charIsoR_
double a_charIsoR_
Definition: IsolatedGenParticles.cc:148
IsolatedGenParticles::t_cHadronEne3x3
std::vector< double > * t_cHadronEne3x3
Definition: IsolatedGenParticles.cc:234
GloballyPositioned.h
IsolatedGenParticles::t_nHadronEneHCR
std::vector< double > * t_nHadronEneHCR
Definition: IsolatedGenParticles.cc:291
IdealMagneticFieldRecord.h
edm::ESHandle< MagneticField >
IsolatedGenParticles::t_cHadronEne3x3_2
std::vector< double > * t_cHadronEne3x3_2
Definition: IsolatedGenParticles.cc:234
p2
double p2[4]
Definition: TauolaWrapper.h:90
IsolatedGenParticles::t_cHadronEne15x15
std::vector< double > * t_cHadronEne15x15
Definition: IsolatedGenParticles.cc:206
IsolatedGenParticles::a_neutIsoR_
double a_neutIsoR_
Definition: IsolatedGenParticles.cc:148
IsolatedGenParticles::useHepMC_
bool useHepMC_
Definition: IsolatedGenParticles.cc:145
IsolatedGenParticles::a_Isolation_
bool a_Isolation_
Definition: IsolatedGenParticles.cc:139
IsolatedGenParticles::t_cHadronEne31x31
std::vector< double > * t_cHadronEne31x31
Definition: IsolatedGenParticles.cc:185
IsolatedGenParticles::isoinfo7x7
spr::genSimInfo isoinfo7x7
Definition: IsolatedGenParticles.cc:312
L1TDiffHarvesting_cfi.dir1
dir1
Definition: L1TDiffHarvesting_cfi.py:10
IsolatedGenParticles::t_photonEneIsoR
std::vector< double > * t_photonEneIsoR
Definition: IsolatedGenParticles.cc:285
IsolatedGenParticles::t_L1METPt
std::vector< double > * t_L1METPt
Definition: IsolatedGenParticles.cc:310
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
IsolatedGenParticles::t_cHadronEneHC7x7
std::vector< double > * t_cHadronEneHC7x7
Definition: IsolatedGenParticles.cc:269
IsolatedGenParticles::t_L1NonIsoEMPhi
std::vector< double > * t_L1NonIsoEMPhi
Definition: IsolatedGenParticles.cc:309
IsolatedGenParticles::t_eleEne31x31
std::vector< double > * t_eleEne31x31
Definition: IsolatedGenParticles.cc:188
Point3DBase< float, GlobalTag >
IsolatedGenParticles::t_L1METEta
std::vector< double > * t_L1METEta
Definition: IsolatedGenParticles.cc:310
IsolatedGenParticles::t_cHadronEne31x31_3
std::vector< double > * t_cHadronEne31x31_3
Definition: IsolatedGenParticles.cc:185
IsolatedGenParticles::tok_L1extCenJet_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extCenJet_
Definition: IsolatedGenParticles.cc:158
HcalRecNumberingRecord
Definition: HcalRecNumberingRecord.h:23
HLT_2018_cff.eta2
eta2
Definition: HLT_2018_cff.py:8221
IsolatedGenParticles::h_pEta
TH2D * h_pEta[Particles]
Definition: IsolatedGenParticles.cc:163
muonRecoAnalyzer_cfi.pBin
pBin
Definition: muonRecoAnalyzer_cfi.py:37
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
L1EmParticleFwd.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
IsolatedGenParticles::t_muEneR
std::vector< double > * t_muEneR
Definition: IsolatedGenParticles.cc:280
IsolatedGenParticles::t_L1FwdJetPhi
std::vector< double > * t_L1FwdJetPhi
Definition: IsolatedGenParticles.cc:305
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
IsolatedGenParticles::t_maxNearPHC1x1
std::vector< double > * t_maxNearPHC1x1
Definition: IsolatedGenParticles.cc:247
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
IsolatedGenParticles::tok_L1GTrorsrc_
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > tok_L1GTrorsrc_
Definition: IsolatedGenParticles.cc:152
TFileService::mkdir
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
Definition: TFileService.h:69
IsolatedGenParticles::t_isoTrkPhi
std::vector< double > * t_isoTrkPhi
Definition: IsolatedGenParticles.cc:179
edm::ParameterSetDescription::addUntracked
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:100
IsolatedGenParticles::t_muEne3x3
std::vector< double > * t_muEne3x3
Definition: IsolatedGenParticles.cc:238
CaloSubdetectorGeometry.h
L1JetParticleFwd.h
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
IsolatedGenParticles::t_cHadronEneHC3x3_2
std::vector< double > * t_cHadronEneHC3x3_2
Definition: IsolatedGenParticles.cc:255
IsolatedGenParticles::t_muEneHC5x5
std::vector< double > * t_muEneHC5x5
Definition: IsolatedGenParticles.cc:266
IsolatedGenParticles::initL1
bool initL1
Definition: IsolatedGenParticles.cc:145
IsolatedGenParticles::t_photonEneR
std::vector< double > * t_photonEneR
Definition: IsolatedGenParticles.cc:278
edm::ParameterSet
Definition: ParameterSet.h:36
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
IsolatedGenParticles::debugL1Info_
bool debugL1Info_
Definition: IsolatedGenParticles.cc:149
IsolatedGenParticles::t_nHadronEneR
std::vector< double > * t_nHadronEneR
Definition: IsolatedGenParticles.cc:277
IsolatedGenParticles::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: IsolatedGenParticles.cc:367
IsolatedGenParticles::t_isoTrkEtaAll
std::vector< double > * t_isoTrkEtaAll
Definition: IsolatedGenParticles.cc:170
IsolatedGenParticles::beginJob
void beginJob() override
Definition: IsolatedGenParticles.cc:796
Event.h
ParticleDataTable.h
IsolatedGenParticles::t_nHadronEneHC5x5
std::vector< double > * t_nHadronEneHC5x5
Definition: IsolatedGenParticles.cc:263
L1GlobalTriggerReadoutSetup.h
IsolatedGenParticles::pCutIsolate_
double pCutIsolate_
Definition: IsolatedGenParticles.cc:138
IsolatedGenParticles::t_isoTrkPdgId
std::vector< double > * t_isoTrkPdgId
Definition: IsolatedGenParticles.cc:182
IsolatedGenParticles::t_cHadronEne25x25
std::vector< double > * t_cHadronEne25x25
Definition: IsolatedGenParticles.cc:192
IsolatedGenParticles::t_cHadronEneR_1
std::vector< double > * t_cHadronEneR_1
Definition: IsolatedGenParticles.cc:276
spr::genSimInfo::nHadronEne
double nHadronEne
Definition: GenSimInfo.h:46
HcalDetId.h
L1GlobalTriggerReadoutRecord::decisionWord
const DecisionWord & decisionWord(int bxInEventValue) const
Definition: L1GlobalTriggerReadoutRecord.cc:186
IsolatedGenParticles::Particles
static constexpr int Particles
Definition: IsolatedGenParticles.cc:135
IsolatedGenParticles::t_nHadronEne11x11
std::vector< double > * t_nHadronEne11x11
Definition: IsolatedGenParticles.cc:214
IsolatedGenParticles::t_L1TauJetPt
std::vector< double > * t_L1TauJetPt
Definition: IsolatedGenParticles.cc:306
CaloTopologyRecord.h
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
LorentzVector.h
IsolatedGenParticles::t_cHadronEneHC3x3_3
std::vector< double > * t_cHadronEneHC3x3_3
Definition: IsolatedGenParticles.cc:255
edm::Service< TFileService >
IsolatedGenParticles::t_photonEneHC5x5
std::vector< double > * t_photonEneHC5x5
Definition: IsolatedGenParticles.cc:264
createfilelist.int
int
Definition: createfilelist.py:10
IsolatedGenParticles::nL1BitsMax_
static const size_t nL1BitsMax_
Definition: IsolatedGenParticles.cc:146
IsolatedGenParticles::t_cHadronEneHC7x7_1
std::vector< double > * t_cHadronEneHC7x7_1
Definition: IsolatedGenParticles.cc:269
iEvent
int iEvent
Definition: GenABIO.cc:224
IsolatedGenParticles::t_L1MuonPhi
std::vector< double > * t_L1MuonPhi
Definition: IsolatedGenParticles.cc:307
IsolatedGenParticles::t_L1MuonPt
std::vector< double > * t_L1MuonPt
Definition: IsolatedGenParticles.cc:307
IsolatedGenParticles::t_photonEneHCR
std::vector< double > * t_photonEneHCR
Definition: IsolatedGenParticles.cc:292
IsolatedGenParticles::deltaR
double deltaR(double eta1, double phi1, double eta2, double phi2)
Definition: IsolatedGenParticles.cc:821
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:50
edm::LogVerbatim
Definition: MessageLogger.h:297
IsolatedGenParticles::t_muEneHCR
std::vector< double > * t_muEneHCR
Definition: IsolatedGenParticles.cc:294
IsolatedGenParticles::t_cHadronEneHC1x1_1
std::vector< double > * t_cHadronEneHC1x1_1
Definition: IsolatedGenParticles.cc:248
IsolatedGenParticles::t_cHadronEneHC7x7_2
std::vector< double > * t_cHadronEneHC7x7_2
Definition: IsolatedGenParticles.cc:269
p1
double p1[4]
Definition: TauolaWrapper.h:89
IsolatedGenParticles::PBins_
static constexpr int PBins_
Definition: IsolatedGenParticles.cc:135
EgammaValidation_cff.pdgId
pdgId
Definition: EgammaValidation_cff.py:118
IsolatedGenParticles::t_maxNearP25x25
std::vector< double > * t_maxNearP25x25
Definition: IsolatedGenParticles.cc:191
IsolatedGenParticles::isoinfo21x21
spr::genSimInfo isoinfo21x21
Definition: IsolatedGenParticles.cc:313
MagneticField.h
IsolatedGenParticles::isoinfo31x31
spr::genSimInfo isoinfo31x31
Definition: IsolatedGenParticles.cc:313
IsolatedGenParticles::t_cHadronEne21x21_3
std::vector< double > * t_cHadronEne21x21_3
Definition: IsolatedGenParticles.cc:199
edm::EventSetup
Definition: EventSetup.h:57
IsolatedGenParticles::t_cHadronEneR_3
std::vector< double > * t_cHadronEneR_3
Definition: IsolatedGenParticles.cc:276
spr::genSimInfo
Definition: GenSimInfo.h:37
IsolatedGenParticles::tok_L1Em_
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1Em_
Definition: IsolatedGenParticles.cc:155
IsolatedGenParticles::t_cHadronEneHC7x7_3
std::vector< double > * t_cHadronEneHC7x7_3
Definition: IsolatedGenParticles.cc:269
TrackAssociatorRecord.h
L1EmParticle.h
edm::HepMCProduct::GetEvent
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:34
IsolatedGenParticles::t_cHadronEne25x25_2
std::vector< double > * t_cHadronEne25x25_2
Definition: IsolatedGenParticles.cc:192
IsolatedGenParticles::t_cHadronEne31x31_2
std::vector< double > * t_cHadronEne31x31_2
Definition: IsolatedGenParticles.cc:185
IsolatedGenParticles::NPBins_
static constexpr int NPBins_
Definition: IsolatedGenParticles.cc:133
spr::genSimInfo::cHadronEne
double cHadronEne
Definition: GenSimInfo.h:46
IsolatedGenParticles::t_muEneIsoR
std::vector< double > * t_muEneIsoR
Definition: IsolatedGenParticles.cc:287
itr
std::vector< std::pair< float, float > >::iterator itr
Definition: HGCDigitizer.cc:28
IsolatedGenParticles::t_nHadronEne9x9
std::vector< double > * t_nHadronEne9x9
Definition: IsolatedGenParticles.cc:221
IsolatedGenParticles::t_eleEne3x3
std::vector< double > * t_eleEne3x3
Definition: IsolatedGenParticles.cc:237
IsolatedGenParticles::t_cHadronEne7x7_2
std::vector< double > * t_cHadronEne7x7_2
Definition: IsolatedGenParticles.cc:227
get
#define get
IsolatedGenParticles::isoinfo3x3
spr::genSimInfo isoinfo3x3
Definition: IsolatedGenParticles.cc:312
IsolatedGenParticles::t_L1IsoEMEta
std::vector< double > * t_L1IsoEMEta
Definition: IsolatedGenParticles.cc:308
IsolatedGenParticles::t_photonEne1x1
std::vector< double > * t_photonEne1x1
Definition: IsolatedGenParticles.cc:243
IsolatedGenParticles::clearTreeVectors
void clearTreeVectors()
Definition: IsolatedGenParticles.cc:1491
IsolatedGenParticles::t_isoTrkPdgIdAll
std::vector< double > * t_isoTrkPdgIdAll
Definition: IsolatedGenParticles.cc:171
IsolatedGenParticles::t_L1CenJetEta
std::vector< double > * t_L1CenJetEta
Definition: IsolatedGenParticles.cc:304
IsolatedGenParticles::t_photonEne7x7
std::vector< double > * t_photonEne7x7
Definition: IsolatedGenParticles.cc:229
IsolatedGenParticles::t_cHadronEne1x1_3
std::vector< double > * t_cHadronEne1x1_3
Definition: IsolatedGenParticles.cc:241
IsolatedGenParticles::t_muEneIsoHCR
std::vector< double > * t_muEneIsoHCR
Definition: IsolatedGenParticles.cc:301
IsolatedGenParticles::isoinfo1x1
spr::genSimInfo isoinfo1x1
Definition: IsolatedGenParticles.cc:312
IsolatedGenParticles::t_cHadronEneIsoHCR_2
std::vector< double > * t_cHadronEneIsoHCR_2
Definition: IsolatedGenParticles.cc:297
IsolatedGenParticles::t_eleEneHC7x7
std::vector< double > * t_eleEneHC7x7
Definition: IsolatedGenParticles.cc:272
IsolatedGenParticles::IsolatedGenParticles
IsolatedGenParticles(const edm::ParameterSet &)
Definition: IsolatedGenParticles.cc:318
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:113
IsolatedGenParticles::t_maxNearP11x11
std::vector< double > * t_maxNearP11x11
Definition: IsolatedGenParticles.cc:212
CaloTopology.h
overlapproblemtsosanalyzer_cfi.title
title
Definition: overlapproblemtsosanalyzer_cfi.py:7
DecisionWord
std::vector< bool > DecisionWord
typedefs
Definition: L1GlobalTriggerReadoutSetupFwd.h:34
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
IsolatedGenParticles::t_nHadronEne21x21
std::vector< double > * t_nHadronEne21x21
Definition: IsolatedGenParticles.cc:200
IsolatedGenParticles::t_L1IsoEMPt
std::vector< double > * t_L1IsoEMPt
Definition: IsolatedGenParticles.cc:308
IsolatedGenParticles::t_nHadronEneHC1x1
std::vector< double > * t_nHadronEneHC1x1
Definition: IsolatedGenParticles.cc:249
DDAxes::phi
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
IsolatedGenParticles::t_isoTrkPt
std::vector< double > * t_isoTrkPt
Definition: IsolatedGenParticles.cc:176
CaloSubdetectorTopology.h
IsolatedGenParticles::t_L1TauJetPhi
std::vector< double > * t_L1TauJetPhi
Definition: IsolatedGenParticles.cc:306
HcalTopology.h
GenParticle.GenParticle
GenParticle
Definition: GenParticle.py:18
std
Definition: JetResolutionObject.h:76
L1GlobalTriggerObjectMapFwd.h
L1MuonParticle.h
Calorimetry_cff.bField
bField
Definition: Calorimetry_cff.py:292
spr::genSimInfo::maxNearP
double maxNearP
Definition: GenSimInfo.h:45
DetId.h
Frameworkfwd.h
IsolatedGenParticles::endJob
void endJob() override
Definition: IsolatedGenParticles.cc:120
IsolatedGenParticles::EtaBins_
static constexpr int EtaBins_
Definition: IsolatedGenParticles.cc:135
CaloPropagateTrack.h
IsolatedGenParticles::t_muEne21x21
std::vector< double > * t_muEne21x21
Definition: IsolatedGenParticles.cc:203
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
IsolatedGenParticles::t_maxNearPHC7x7
std::vector< double > * t_maxNearPHC7x7
Definition: IsolatedGenParticles.cc:268
IsolatedGenParticles::t_muEne9x9
std::vector< double > * t_muEne9x9
Definition: IsolatedGenParticles.cc:224
IsolatedGenParticles::~IsolatedGenParticles
~IsolatedGenParticles() override
Definition: IsolatedGenParticles.cc:113
IsolatedGenParticles::t_cHadronEne31x31_1
std::vector< double > * t_cHadronEne31x31_1
Definition: IsolatedGenParticles.cc:185
IsolatedGenParticles
Definition: IsolatedGenParticles.cc:110
CaloGeometry.h
TFileService::kSharedResource
static const std::string kSharedResource
Definition: TFileService.h:76
IsolatedGenParticles::isoinfoHC7x7
spr::genSimInfo isoinfoHC7x7
Definition: IsolatedGenParticles.cc:314
IsolatedGenParticles::t_L1Decision
std::vector< int > * t_L1Decision
Definition: IsolatedGenParticles.cc:303
IsolatedGenParticles::t_photonEneIsoHCR
std::vector< double > * t_photonEneIsoHCR
Definition: IsolatedGenParticles.cc:299
IsolatedGenParticles::t_cHadronEneHC3x3
std::vector< double > * t_cHadronEneHC3x3
Definition: IsolatedGenParticles.cc:255
IsolatedGenParticles::verbosity_
int verbosity_
Definition: IsolatedGenParticles.cc:150
IsolatedGenParticles::t_eleEne1x1
std::vector< double > * t_eleEne1x1
Definition: IsolatedGenParticles.cc:244
IsolatedGenParticles::t_cHadronEneIsoHCR
std::vector< double > * t_cHadronEneIsoHCR
Definition: IsolatedGenParticles.cc:297
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
EventSetup.h
L1GlobalTriggerObjectMapRecord::gtObjectMap
const std::vector< L1GlobalTriggerObjectMap > & gtObjectMap() const
get / set the vector of object maps
Definition: L1GlobalTriggerObjectMapRecord.h:64
IsolatedGenParticles::isoinfoHC5x5
spr::genSimInfo isoinfoHC5x5
Definition: IsolatedGenParticles.cc:314
HcalRecHitCollections.h
IsolatedGenParticles::isoinfoHCR
spr::genSimInfo isoinfoHCR
Definition: IsolatedGenParticles.cc:315
IsolatedGenParticles::t_cHadronEne7x7_1
std::vector< double > * t_cHadronEne7x7_1
Definition: IsolatedGenParticles.cc:227
IsolatedGenParticles::deltaR2
double deltaR2(double eta1, double phi1, double eta2, double phi2)
Definition: IsolatedGenParticles.cc:827
IsolatedGenParticles::t_cHadronEneIsoHCR_1
std::vector< double > * t_cHadronEneIsoHCR_1
Definition: IsolatedGenParticles.cc:297
IsolatedGenParticles::t_muEneHC1x1
std::vector< double > * t_muEneHC1x1
Definition: IsolatedGenParticles.cc:252
IsolatedGenParticles::isoinfoHC3x3
spr::genSimInfo isoinfoHC3x3
Definition: IsolatedGenParticles.cc:314
spr::genSimInfo::cHadronEne_
double cHadronEne_[3]
Definition: GenSimInfo.h:48
IsolatedGenParticles::t_cHadronEneHC5x5_1
std::vector< double > * t_cHadronEneHC5x5_1
Definition: IsolatedGenParticles.cc:262
IsolatedGenParticles::t_maxNearP7x7
std::vector< double > * t_maxNearP7x7
Definition: IsolatedGenParticles.cc:226
spr::genSimInfo::photonEne
double photonEne
Definition: GenSimInfo.h:46
IsolatedGenParticles::t_nHadronEneIsoHCR
std::vector< double > * t_nHadronEneIsoHCR
Definition: IsolatedGenParticles.cc:298
IsolatedGenParticles::t_cHadronEneHCR_1
std::vector< double > * t_cHadronEneHCR_1
Definition: IsolatedGenParticles.cc:290
IsolatedGenParticles::t_nHadronEne31x31
std::vector< double > * t_nHadronEne31x31
Definition: IsolatedGenParticles.cc:186
IsolatedGenParticles::algoBitToName_
std::string algoBitToName_[nL1BitsMax_]
Definition: IsolatedGenParticles.cc:147
IsolatedGenParticles::t_L1FwdJetPt
std::vector< double > * t_L1FwdJetPt
Definition: IsolatedGenParticles.cc:305
IsolatedGenParticles::t_eleEne11x11
std::vector< double > * t_eleEne11x11
Definition: IsolatedGenParticles.cc:216
IsolatedGenParticles::deltaPhi
double deltaPhi(double v1, double v2)
Definition: IsolatedGenParticles.cc:812
IsolatedGenParticles::t_maxNearPIsoR
std::vector< double > * t_maxNearPIsoR
Definition: IsolatedGenParticles.cc:282
IsolatedGenParticles::t_photonEneHC3x3
std::vector< double > * t_photonEneHC3x3
Definition: IsolatedGenParticles.cc:257
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
IsolatedGenParticles::t_maxNearP15x15
std::vector< double > * t_maxNearP15x15
Definition: IsolatedGenParticles.cc:205
L1GlobalTriggerObjectMapRecord.h
ParameterSet.h
IsolatedGenParticles::tok_L1extTauJet_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extTauJet_
Definition: IsolatedGenParticles.cc:157
IsolatedGenParticles::t_cHadronEneHC5x5_2
std::vector< double > * t_cHadronEneHC5x5_2
Definition: IsolatedGenParticles.cc:262
createTree.pp
pp
Definition: createTree.py:17
IsolatedGenParticles::t_L1METPhi
std::vector< double > * t_L1METPhi
Definition: IsolatedGenParticles.cc:310
IsolatedGenParticles::isoinfoIsoHCR
spr::genSimInfo isoinfoIsoHCR
Definition: IsolatedGenParticles.cc:315
IsolatedGenParticles::t_nHadronEneIsoR
std::vector< double > * t_nHadronEneIsoR
Definition: IsolatedGenParticles.cc:284
HepMCProduct.h
IsolatedGenParticles::t_muEneHC3x3
std::vector< double > * t_muEneHC3x3
Definition: IsolatedGenParticles.cc:259
IsolatedGenParticles::t_cHadronEneHC1x1_3
std::vector< double > * t_cHadronEneHC1x1_3
Definition: IsolatedGenParticles.cc:248
IsolatedGenParticles::t_eleEne7x7
std::vector< double > * t_eleEne7x7
Definition: IsolatedGenParticles.cc:230
IsolatedGenParticles::t_photonEne31x31
std::vector< double > * t_photonEne31x31
Definition: IsolatedGenParticles.cc:187
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
IsolatedGenParticles::t_muEneHC7x7
std::vector< double > * t_muEneHC7x7
Definition: IsolatedGenParticles.cc:273
IsolatedGenParticles::t_eleEneIsoHCR
std::vector< double > * t_eleEneIsoHCR
Definition: IsolatedGenParticles.cc:300
IsolatedGenParticles::t_eleEneHC5x5
std::vector< double > * t_eleEneHC5x5
Definition: IsolatedGenParticles.cc:265
IsolatedGenParticles::t_isoTrkDEtaAll
std::vector< double > * t_isoTrkDEtaAll
Definition: IsolatedGenParticles.cc:172
IsolatedGenParticles::t_cHadronEneHC5x5
std::vector< double > * t_cHadronEneHC5x5
Definition: IsolatedGenParticles.cc:262
MagneticField
Definition: MagneticField.h:19
L1GlobalTriggerObjectMap.h
IsolatedGenParticles::genPartEtaBins_
double genPartEtaBins_[NEtaBins_+1]
Definition: IsolatedGenParticles.cc:137
IsolatedGenParticles::t_photonEne25x25
std::vector< double > * t_photonEne25x25
Definition: IsolatedGenParticles.cc:194
L1JetParticle.h
IsolatedGenParticles::t_nHadronEneHC7x7
std::vector< double > * t_nHadronEneHC7x7
Definition: IsolatedGenParticles.cc:270
IsolatedGenParticles::tok_L1extMusrc_
edm::EDGetTokenT< l1extra::L1MuonParticleCollection > tok_L1extMusrc_
Definition: IsolatedGenParticles.cc:154
dttmaxenums::R
Definition: DTTMax.h:29
IsolatedGenParticles::t_cHadronEneIsoR_2
std::vector< double > * t_cHadronEneIsoR_2
Definition: IsolatedGenParticles.cc:283
IsolatedGenParticles::t_cHadronEneHC1x1
std::vector< double > * t_cHadronEneHC1x1
Definition: IsolatedGenParticles.cc:248
IsolatedGenParticles::genSrc_
std::string genSrc_
Definition: IsolatedGenParticles.cc:140
IsolatedGenParticles::t_eleEne21x21
std::vector< double > * t_eleEne21x21
Definition: IsolatedGenParticles.cc:202
IsolatedGenParticles::t_L1CenJetPhi
std::vector< double > * t_L1CenJetPhi
Definition: IsolatedGenParticles.cc:304
IsolatedGenParticles::t_cHadronEneR
std::vector< double > * t_cHadronEneR
Definition: IsolatedGenParticles.cc:276
IsolatedGenParticles::t_cHadronEneHC1x1_2
std::vector< double > * t_cHadronEneHC1x1_2
Definition: IsolatedGenParticles.cc:248
edm::InputTag
Definition: InputTag.h:15
L1GlobalTriggerReadoutRecord.h
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
IsolatedGenParticles::t_muEne1x1
std::vector< double > * t_muEne1x1
Definition: IsolatedGenParticles.cc:245
IsolatedGenParticles::isoinfoHC1x1
spr::genSimInfo isoinfoHC1x1
Definition: IsolatedGenParticles.cc:314
IsolatedGenParticles::t_L1TauJetEta
std::vector< double > * t_L1TauJetEta
Definition: IsolatedGenParticles.cc:306
IsolatedGenParticles::t_muEne25x25
std::vector< double > * t_muEne25x25
Definition: IsolatedGenParticles.cc:196
IsolatedGenParticles::t_photonEneHC7x7
std::vector< double > * t_photonEneHC7x7
Definition: IsolatedGenParticles.cc:271
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileService.h:64
IsolatedGenParticles::a_mipR_
double a_mipR_
Definition: IsolatedGenParticles.cc:148
IsolatedGenParticles::ptMin_
double ptMin_
Definition: IsolatedGenParticles.cc:138
IsolatedGenParticles::h_L1AlgoNames
TH1I * h_L1AlgoNames
Definition: IsolatedGenParticles.cc:161
IsolatedGenParticles::t_cHadronEne3x3_3
std::vector< double > * t_cHadronEne3x3_3
Definition: IsolatedGenParticles.cc:234
IsolatedGenParticles::t_cHadronEne11x11_1
std::vector< double > * t_cHadronEne11x11_1
Definition: IsolatedGenParticles.cc:213
IsolatedGenParticles::t_eleEne9x9
std::vector< double > * t_eleEne9x9
Definition: IsolatedGenParticles.cc:223