84 #include "TDirectory.h" 94 class ParticlePtGreater {
97 return p1->momentum().perp() >
p2->momentum().perp();
101 class ParticlePGreater {
104 return p1->momentum().rho() >
p2->momentum().rho();
320 : ptMin_(iConfig.getUntrackedParameter<double>(
"PTMin", 1.0)),
321 etaMax_(iConfig.getUntrackedParameter<double>(
"MaxChargedHadronEta", 2.5)),
322 pCutIsolate_(iConfig.getUntrackedParameter<double>(
"PMaxIsolation", 20.0)),
323 a_Isolation_(iConfig.getUntrackedParameter<
bool>(
"UseConeIsolation",
false)),
324 genSrc_(iConfig.getUntrackedParameter(
"GenSrc",
std::
string(
"generatorSmeared"))),
325 useHepMC_(iConfig.getUntrackedParameter<
bool>(
"UseHepMC",
false)),
326 a_coneR_(iConfig.getUntrackedParameter<double>(
"ConeRadius", 34.98)),
327 a_mipR_(iConfig.getUntrackedParameter<double>(
"ConeRadiusMIP", 14.0)),
328 debugL1Info_(iConfig.getUntrackedParameter<
bool>(
"DebugL1Info",
false)),
329 verbosity_(iConfig.getUntrackedParameter<
int>(
"Verbosity", 0)) {
346 tok_L1GTrorsrc_ = consumes<L1GlobalTriggerReadoutRecord>(L1GTReadoutRcdSource_);
347 tok_L1GTobjmap_ = consumes<L1GlobalTriggerObjectMapRecord>(L1GTObjectMapRcdSource_);
348 tok_L1extMusrc_ = consumes<l1extra::L1MuonParticleCollection>(L1extraMuonSource_);
349 tok_L1Em_ = consumes<l1extra::L1EmParticleCollection>(L1extraIsoEmSource_);
350 tok_L1extNonIsoEm_ = consumes<l1extra::L1EmParticleCollection>(L1extraNonIsoEmSource_);
351 tok_L1extTauJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraTauJetSource_);
352 tok_L1extCenJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraCenJetSource_);
353 tok_L1extFwdJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraFwdJetSource_);
355 if (!strcmp(
"Dummy",
genSrc_.c_str())) {
367 tok_geom_ = esConsumes<CaloGeometry, CaloGeometryRecord>();
369 tok_topo_ = esConsumes<HcalTopology, HcalRecNumberingRecord>();
370 tok_magField_ = esConsumes<MagneticField, IdealMagneticFieldRecord>();
371 tok_pdt_ = esConsumes<HepPDT::ParticleDataTable, PDTRecord>();
377 desc.addUntracked<
bool>(
"UseHepMC",
false);
378 desc.addUntracked<
double>(
"ChargedHadronSeedP", 1.0);
379 desc.addUntracked<
double>(
"PTMin", 1.0);
380 desc.addUntracked<
double>(
"MaxChargedHadronEta", 2.5);
381 desc.addUntracked<
double>(
"ConeRadius", 34.98);
382 desc.addUntracked<
double>(
"ConeRadiusMIP", 14.0);
383 desc.addUntracked<
bool>(
"UseConeIsolation",
true);
384 desc.addUntracked<
double>(
"PMaxIsolation", 5.0);
385 desc.addUntracked<
int>(
"Verbosity", 0);
386 desc.addUntracked<
bool>(
"DebugL1Info",
false);
395 descriptions.
add(
"isolatedGenParticles",
desc);
430 <<
"not found\n --> returning false by " 434 edm::LogVerbatim(
"IsoTrack") <<
"\nL1GlobalTriggerObjectMapRecord with \n\n" 435 <<
"not found\n --> returning false by " 441 unsigned int numberTriggerBits = dWord.size();
446 edm::LogVerbatim(
"IsoTrack") <<
"\nNumber of Trigger bits " << numberTriggerBits <<
"\n";
450 const std::vector<L1GlobalTriggerObjectMap> &objMapVec = gtOMRec->
gtObjectMap();
451 for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin(); itMap != objMapVec.end();
454 int itrig = (*itMap).algoBitNumber();
468 for (
unsigned int iBit = 0; iBit < numberTriggerBits; ++iBit) {
469 bool accept = dWord[iBit];
483 l1extra::L1JetParticleCollection::const_iterator itr;
484 for (itr = l1TauHandle->begin(); itr != l1TauHandle->end(); ++itr) {
489 edm::LogVerbatim(
"IsoTrack") <<
"tauJ p/pt " << itr->momentum() <<
" " << itr->pt() <<
" eta/phi " << itr->eta()
490 <<
" " << itr->phi();
497 for (itr = l1CenJetHandle->begin(); itr != l1CenJetHandle->end(); ++itr) {
502 edm::LogVerbatim(
"IsoTrack") <<
"cenJ p/pt " << itr->momentum() <<
" " << itr->pt() <<
" eta/phi " 503 << itr->eta() <<
" " << itr->phi();
509 for (itr = l1FwdJetHandle->begin(); itr != l1FwdJetHandle->end(); ++itr) {
514 edm::LogVerbatim(
"IsoTrack") <<
"fwdJ p/pt " << itr->momentum() <<
" " << itr->pt() <<
" eta/phi " 515 << itr->eta() <<
" " << itr->phi();
519 l1extra::L1EmParticleCollection::const_iterator itrEm;
522 for (itrEm = l1IsoEmHandle->begin(); itrEm != l1IsoEmHandle->end(); ++itrEm) {
527 edm::LogVerbatim(
"IsoTrack") <<
"isoEm p/pt " << itrEm->momentum() <<
" " << itrEm->pt() <<
" eta/phi " 528 << itrEm->eta() <<
" " << itrEm->phi();
534 for (itrEm = l1NonIsoEmHandle->begin(); itrEm != l1NonIsoEmHandle->end(); ++itrEm) {
539 edm::LogVerbatim(
"IsoTrack") <<
"nonIsoEm p/pt " << itrEm->momentum() <<
" " << itrEm->pt() <<
" eta/phi " 540 << itrEm->eta() <<
" " << itrEm->phi();
545 l1extra::L1MuonParticleCollection::const_iterator itrMu;
548 for (itrMu = l1MuHandle->begin(); itrMu != l1MuHandle->end(); ++itrMu) {
553 edm::LogVerbatim(
"IsoTrack") <<
"l1muon p/pt " << itrMu->momentum() <<
" " << itrMu->pt() <<
" eta/phi " 554 << itrMu->eta() <<
" " << itrMu->phi();
567 for (
unsigned int indx = 0; indx < trackIDs.size(); ++indx) {
568 int charge = trackIDs[indx].charge;
569 HepMC::GenEvent::particle_const_iterator
p = trackIDs[indx].trkItr;
571 (*p)->momentum().px(), (*p)->momentum().py(), (*p)->momentum().pz(), (*p)->momentum().e());
573 edm::LogVerbatim(
"IsoTrack") <<
"trkIndx " << indx <<
" pdgid " << trackIDs[indx].pdgId <<
" charge " <<
charge 574 <<
" momVec " << momVec;
579 posVec =
GlobalPoint(0.1 * (*p)->production_vertex()->position().x(),
580 0.1 * (*p)->production_vertex()->position().y(),
581 0.1 * (*p)->production_vertex()->position().z());
582 posECAL = trackIDs[indx].pointECAL;
583 fillTrack(posVec, momVec, posECAL, trackIDs[indx].
pdgId, trackIDs[indx].okECAL,
true);
585 edm::LogVerbatim(
"IsoTrack") <<
"posECAL " << posECAL <<
" okECAL " << trackIDs[indx].okECAL <<
"okHCAL " 586 << trackIDs[indx].okHCAL;
587 if (trackIDs[indx].okECAL) {
604 trackIDs[indx].directionECAL,
613 trackIDs[indx].directionECAL,
616 if (trackIDs[indx].okHCAL) {
627 trackIDs[indx].directionHCAL,
636 trackIDs[indx].directionHCAL,
641 bool saveTrack =
true;
651 fillTrack(posVec, momVec, posECAL, 0,
false,
false);
657 HepMC::GenEvent::particle_const_iterator
p;
658 for (
p = myGenEvent->particles_begin(), indx = 0;
p != myGenEvent->particles_end(); ++
p, ++indx) {
659 int pdgId = ((*p)->pdg_id());
662 double pp = (*p)->momentum().rho();
663 double eta = (*p)->momentum().eta();
668 std::vector<spr::propagatedGenParticleID> trackIDs =
671 for (
unsigned int indx = 0; indx < trackIDs.size(); ++indx) {
672 int charge = trackIDs[indx].charge;
673 reco::GenParticleCollection::const_iterator
p = trackIDs[indx].trkItr;
677 edm::LogVerbatim(
"IsoTrack") <<
"trkIndx " << indx <<
" pdgid " << trackIDs[indx].pdgId <<
" charge " <<
charge 678 <<
" momVec " << momVec;
683 edm::LogVerbatim(
"IsoTrack") <<
" pt " << momVec.Pt() <<
" eta " << momVec.eta();
685 posVec =
GlobalPoint(
p->vertex().x(),
p->vertex().y(),
p->vertex().z());
686 posECAL = trackIDs[indx].pointECAL;
688 edm::LogVerbatim(
"IsoTrack") <<
"posECAL " << posECAL <<
" okECAL " << trackIDs[indx].okECAL <<
"okHCAL " 689 << trackIDs[indx].okHCAL;
690 fillTrack(posVec, momVec, posECAL, trackIDs[indx].
pdgId, trackIDs[indx].okECAL,
true);
691 if (trackIDs[indx].okECAL) {
717 trackIDs[indx].directionECAL,
726 trackIDs[indx].directionECAL,
729 if (trackIDs[indx].okHCAL) {
744 trackIDs[indx].directionHCAL,
753 trackIDs[indx].directionHCAL,
758 bool saveTrack =
true;
768 fillTrack(posVec, momVec, posECAL, 0,
false,
false);
774 reco::GenParticleCollection::const_iterator
p;
779 double pp = (
p->momentum()).
R();
780 double eta = (
p->momentum()).Eta();
796 double tempgen_TH[
NPBins_ + 1] = {0.0, 5.0, 12.0, 300.0};
800 double tempgen_Eta[
NEtaBins_ + 1] = {0.0, 0.5, 1.1, 1.7, 2.3};
816 double phi1 = momVec.phi();
817 double phi2 = (posECAL - posVec).
phi();
819 double deta = momVec.eta() - (posECAL - posVec).
eta();
1017 h_NEventProc =
fs->make<TH1I>(
"h_NEventProc",
"h_NEventProc", 2, -0.5, 0.5);
1018 h_L1AlgoNames =
fs->make<TH1I>(
"h_L1AlgoNames",
"h_L1AlgoNames:Bin Labels", 128, -0.5, 127.5);
1020 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,
1021 70.0, 80.0, 90.0, 100.0, 150.0, 200.0, 250.0, 300.0, 350.0, 400.0, 450.0,
1022 500.0, 550.0, 600.0, 650.0, 700.0, 750.0, 800.0, 850.0, 900.0, 950.0, 1000.0};
1023 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,
1024 -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,
1025 -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,
1026 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,
1027 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0};
1029 "electron",
"positron",
"#gamma",
"#pi^+",
"#pi^-",
"K^+",
"K^-",
"p",
"n",
"pbar",
"nbar",
"K^0_L"};
1033 sprintf(
name,
"pEta%d",
i);
1034 sprintf(
title,
"#eta vs momentum for %s", particle[
i].c_str());
1039 tree_ =
fs->make<TTree>(
"tree_",
"tree");
1196 t_muEneR =
new std::vector<double>();
1409 tree_->Branch(
"t_muEneR",
"std::vector<double>", &
t_muEneR);
1681 int partID[
Particles] = {11, -11, 21, 211, -211, 321, -321, 2212, 2112, -2212, -2112, 130};
1683 for (
int ik = 0; ik <
Particles; ++ik) {
1684 if (
pdgId == partID[ik]) {
std::vector< double > * t_cHadronEneHC1x1_3
static const std::string kSharedResource
std::vector< double > * t_eleEne7x7
std::vector< double > * t_nHadronEne21x21
constexpr double deltaPhi(double phi1, double phi2)
std::vector< double > * t_cHadronEneHC7x7_2
Log< level::Info, true > LogVerbatim
spr::genSimInfo isoinfo25x25
std::vector< double > * t_isoTrkEtaAll
std::vector< double > * t_maxNearPHCR
std::vector< double > * t_isoTrkPdgId
double genPartPBins_[NPBins_+1]
std::vector< double > * t_L1FwdJetPhi
std::vector< double > * t_eleEne31x31
std::vector< double > * t_eleEneHC7x7
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
std::vector< int > * t_L1Decision
spr::genSimInfo isoinfo31x31
T getParameter(std::string const &) const
std::vector< double > * t_cHadronEneIsoR_1
std::vector< double > * t_nHadronEne7x7
std::vector< double > * t_isoTrkPt
std::vector< double > * t_L1TauJetPhi
std::vector< double > * t_L1TauJetPt
std::vector< double > * t_cHadronEneHCR_1
static constexpr int EtaBins_
std::vector< double > * t_L1CenJetEta
std::vector< double > * t_photonEne7x7
spr::genSimInfo isoinfo21x21
std::vector< double > * t_L1MuonPt
std::vector< double > * t_isoTrkEta
std::vector< double > * t_cHadronEneHC7x7
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
std::vector< double > * t_cHadronEneHC7x7_3
std::vector< double > * t_cHadronEne7x7_2
std::vector< double > * t_cHadronEne15x15_3
static constexpr int PBins_
std::vector< double > * t_maxNearP15x15
std::vector< double > * t_nHadronEneHC7x7
std::vector< double > * t_photonEne21x21
HepPDT::ParticleDataTable ParticleDataTable
std::vector< double > * t_cHadronEneIsoHCR_2
std::vector< double > * t_cHadronEne25x25
std::vector< double > * t_photonEneHC5x5
std::vector< double > * t_cHadronEneHC1x1_2
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extCenJet_
std::vector< double > * t_L1IsoEMEta
std::vector< double > * t_muEneIsoHCR
std::vector< double > * t_eleEne11x11
Geom::Phi< T > phi() const
IsolatedGenParticles(const edm::ParameterSet &)
edm::ESGetToken< CaloTopology, CaloTopologyRecord > tok_caloTopology_
std::vector< double > * t_cHadronEneR
std::vector< double > * t_eleEne3x3
~IsolatedGenParticles() override
std::vector< double > * t_L1IsoEMPt
std::vector< double > * t_cHadronEne3x3_2
Global3DPoint GlobalPoint
std::vector< double > * t_cHadronEneHC3x3_2
std::vector< double > * t_photonEne1x1
std::vector< double > * t_cHadronEne1x1_2
std::vector< double > * t_nHadronEneR
std::vector< double > * t_cHadronEneIsoR_3
std::vector< double > * t_maxNearP11x11
std::vector< double > * t_maxNearPHC7x7
spr::genSimInfo isoinfoHC3x3
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extTauJet_
std::vector< double > * t_cHadronEneHC5x5_2
std::vector< double > * t_photonEneHCR
std::vector< double > * t_L1METEta
spr::genSimInfo isoinfoHCR
const DecisionWord & decisionWord(int bxInEventValue) const
std::vector< double > * t_muEneIsoR
std::vector< double > * t_nHadronEne9x9
std::vector< double > * t_L1MuonEta
std::vector< double > * t_isoTrkPdgIdAll
std::vector< double > * t_muEneHC7x7
std::vector< double > * t_cHadronEne31x31
std::vector< double > * t_nHadronEneIsoHCR
spr::genSimInfo isoinfo1x1
std::vector< double > * t_L1FwdJetPt
std::vector< double > * t_cHadronEne31x31_1
std::vector< double > * t_photonEneHC3x3
static constexpr int NPBins_
std::vector< double > * t_cHadronEneIsoHCR_1
static const size_t nL1BitsMax_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tok_magField_
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
std::vector< double > * t_muEneR
std::vector< double > * t_muEne9x9
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
std::vector< double > * t_muEne21x21
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > tok_L1GTrorsrc_
std::vector< double > * t_maxNearP7x7
edm::EDGetTokenT< l1extra::L1MuonParticleCollection > tok_L1extMusrc_
spr::genSimInfo isoinfoHC7x7
static constexpr int NEtaBins_
std::vector< double > * t_muEneHC1x1
std::vector< double > * t_photonEneHC7x7
const std::vector< L1GlobalTriggerObjectMap > & gtObjectMap() const
get / set the vector of object maps
std::vector< double > * t_maxNearPIsoHCR
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::vector< double > * t_L1TauJetEta
std::vector< double > * t_cHadronEneHC5x5
std::vector< double > * t_cHadronEne31x31_2
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::vector< double > * t_isoTrkPAll
std::vector< double > * t_nHadronEneHC1x1
spr::genSimInfo isoinfo11x11
std::vector< double > * t_eleEneIsoHCR
std::vector< double > * t_eleEneHC5x5
std::vector< double > * t_cHadronEneIsoHCR
std::vector< double > * t_muEneHCR
std::vector< double > * t_cHadronEne7x7_1
std::vector< double > * t_maxNearP25x25
std::vector< double > * t_cHadronEne3x3_3
std::vector< double > * t_cHadronEneHC7x7_1
std::vector< double > * t_cHadronEneHC5x5_1
double genPartEtaBins_[NEtaBins_+1]
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1Em_
std::vector< double > * t_eleEne25x25
std::vector< double > * t_eleEne9x9
std::vector< double > * t_eleEne1x1
std::vector< double > * t_muEne11x11
std::vector< double > * t_eleEneHCR
std::vector< double > * t_muEne7x7
spr::genSimInfo isoinfoHC5x5
std::vector< double > * t_cHadronEneHC1x1
std::vector< bool > DecisionWord
typedefs
std::vector< double > * t_cHadronEneR_3
std::vector< double > * t_cHadronEne11x11_1
std::vector< double > * t_muEne1x1
std::vector< double > * t_cHadronEne15x15_1
std::vector< double > * t_cHadronEneIsoHCR_3
std::vector< double > * t_cHadronEneIsoR
spr::genSimInfo isoinfoHC1x1
std::vector< double > * t_eleEneHC3x3
std::vector< double > * t_isoTrkDEtaAll
std::vector< double > * t_muEne25x25
std::vector< double > * t_cHadronEne9x9_3
std::vector< double > * t_L1NonIsoEMPt
std::vector< double > * t_photonEne25x25
std::vector< double > * t_maxNearP21x21
Abs< T >::type abs(const T &t)
std::vector< double > * t_maxNearP31x31
std::vector< double > * t_muEneHC3x3
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)
std::vector< double > * t_cHadronEneHC3x3
std::vector< double > * t_cHadronEne11x11
spr::genSimInfo isoinfoIsoHCR
std::vector< double > * t_cHadronEne25x25_3
std::vector< double > * t_cHadronEneHCR_3
#define DEFINE_FWK_MODULE(type)
std::vector< double > * t_L1CenJetPt
spr::genSimInfo isoinfo15x15
std::vector< double > * t_maxNearPHC5x5
std::vector< double > * t_cHadronEneHCR_2
std::vector< double > * t_cHadronEne11x11_3
std::vector< double > * t_cHadronEneHCR
std::vector< double > * t_cHadronEne1x1
std::vector< double > * t_isoTrkDPhiAll
std::vector< double > * t_photonEneIsoHCR
std::vector< double > * t_nHadronEne31x31
std::vector< double > * t_maxNearP3x3
std::vector< double > * t_cHadronEne1x1_1
std::vector< double > * t_cHadronEne21x21_1
const HepMC::GenEvent * GetEvent() const
std::vector< double > * t_isoTrkPhiEC
spr::genSimInfo isoinfoIsoR
std::vector< double > * t_cHadronEne11x11_2
std::vector< double > * t_L1CenJetPhi
std::vector< double > * t_maxNearP1x1
edm::EDGetTokenT< L1GlobalTriggerObjectMapRecord > tok_L1GTobjmap_
std::vector< double > * t_maxNearPHC3x3
std::vector< double > * t_nHadronEneHCR
std::vector< double > * t_eleEneR
std::vector< double > * t_cHadronEneIsoR_2
std::vector< double > * t_cHadronEne9x9_1
std::vector< double > * t_eleEneIsoR
std::vector< double > * t_cHadronEneR_2
std::vector< double > * t_isoTrkPhiAll
void fillTrack(GlobalPoint &posVec, math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId, bool okECAL, bool accpet)
std::vector< double > * t_photonEneHC1x1
edm::ESGetToken< HepPDT::ParticleDataTable, PDTRecord > tok_pdt_
std::vector< double > * t_L1FwdJetEta
std::vector< double > * t_maxNearPR
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1extNonIsoEm_
std::vector< double > * t_muEne31x31
void fillIsolatedTrack(math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId)
std::vector< double > * t_isoTrkPtAll
std::vector< double > * t_isoTrkP
std::vector< double > * t_nHadronEne11x11
std::vector< double > * t_nHadronEneIsoR
std::vector< double > * t_L1NonIsoEMPhi
std::vector< double > * t_eleEne21x21
std::vector< double > * t_maxNearPHC1x1
std::vector< double > * t_cHadronEne9x9_2
std::vector< double > * t_cHadronEne31x31_3
std::vector< double > * t_maxNearP9x9
std::vector< double > * t_photonEne31x31
std::vector< double > * t_nHadronEneHC3x3
std::vector< double > * t_cHadronEne15x15_2
std::vector< double > * t_photonEne15x15
std::vector< double > * t_L1NonIsoEMEta
std::vector< double > * t_isoTrkPhi
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< double > * t_nHadronEne15x15
std::vector< double > * t_cHadronEneHC1x1_1
std::vector< double > * t_photonEneR
std::vector< double > * t_isoTrkEtaEC
std::vector< double > * t_nHadronEne1x1
std::vector< double > * t_cHadronEne3x3
spr::genSimInfo isoinfo9x9
edm::EDGetTokenT< edm::HepMCProduct > tok_hepmc_
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< double > * t_cHadronEne25x25_2
std::vector< double > * t_L1IsoEMPhi
std::vector< double > * t_cHadronEneHC5x5_3
std::string algoBitToName_[nL1BitsMax_]
edm::EDGetTokenT< reco::GenParticleCollection > tok_genParticles_
std::vector< double > * t_photonEne9x9
std::vector< double > * t_L1METPhi
std::vector< double > * t_nHadronEne25x25
std::vector< double > * t_photonEne3x3
std::vector< double > * t_cHadronEneHC3x3_3
std::vector< double > * t_eleEneHC1x1
std::vector< double > * t_photonEne11x11
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)
std::vector< double > * t_muEne3x3
std::vector< double > * t_cHadronEne9x9
std::vector< double > * t_muEne15x15
std::vector< double > * t_cHadronEne21x21_2
std::vector< double > * t_cHadronEne3x3_1
std::vector< double > * t_cHadronEneHC3x3_1
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extFwdJet_
spr::genSimInfo isoinfo3x3
std::vector< double > * t_cHadronEne25x25_1
std::vector< double > * t_cHadronEne15x15
std::vector< double > * t_cHadronEne21x21
std::vector< double > * t_L1METPt
std::vector< double > * t_muEneHC5x5
std::vector< double > * t_cHadronEneR_1
std::vector< double > * t_cHadronEne21x21_3
std::vector< double > * t_L1MuonPhi
std::vector< double > * t_cHadronEne7x7_3
static constexpr int Particles
std::vector< double > * t_photonEneIsoR
std::vector< double > * t_cHadronEne7x7
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > tok_topo_
std::vector< double > * t_eleEne15x15
std::vector< double > * t_maxNearPIsoR
std::vector< double > * t_nHadronEne3x3
spr::genSimInfo isoinfo7x7
std::vector< double > * t_nHadronEneHC5x5
std::vector< double > * t_isoTrkEne
std::vector< double > * t_cHadronEne1x1_3