1 #ifndef CalibrationIsolatedParticlesIsolatedGenParticles_h 2 #define CalibrationIsolatedParticlesIsolatedGenParticles_h 65 #include "TDirectory.h" 70 class ParticlePtGreater{
74 return p1->momentum().perp() > p2->momentum().perp();
78 class ParticlePGreater{
82 return p1->momentum().rho() > p2->momentum().rho();
97 void endJob()
override ;
99 double DeltaPhi(
double v1,
double v2);
100 double DeltaR(
double eta1,
double phi1,
double eta2,
double phi2);
101 double DeltaR2(
double eta1,
double phi1,
double eta2,
double phi2);
105 void BookHistograms();
106 void clearTreeVectors();
107 int particleCode(
int);
109 static const int NPBins = 3;
110 static const int NEtaBins = 4;
111 static const int PBins=32,
EtaBins=60, Particles=12;
113 double genPartPBins[NPBins+1], genPartEtaBins[NEtaBins+1];
124 static const size_t nL1BitsMax=128;
144 TH2D *h_pEta[Particles];
201 std::vector<double> *t_cHadronEne9x9, *t_cHadronEne9x9_1, *t_cHadronEne9x9_2, *
t_cHadronEne9x9_3;
208 std::vector<double> *t_cHadronEne7x7, *t_cHadronEne7x7_1, *t_cHadronEne7x7_2, *
t_cHadronEne7x7_3;
215 std::vector<double> *t_cHadronEne3x3, *t_cHadronEne3x3_1, *t_cHadronEne3x3_2, *
t_cHadronEne3x3_3;
222 std::vector<double> *t_cHadronEne1x1, *t_cHadronEne1x1_1, *t_cHadronEne1x1_2, *
t_cHadronEne1x1_3;
257 std::vector<double> *t_cHadronEneR, *t_cHadronEneR_1, *t_cHadronEneR_2, *
t_cHadronEneR_3;
264 std::vector<double> *t_cHadronEneIsoR, *t_cHadronEneIsoR_1, *t_cHadronEneIsoR_2, *
t_cHadronEneIsoR_3;
271 std::vector<double> *t_cHadronEneHCR, *t_cHadronEneHCR_1, *t_cHadronEneHCR_2, *
t_cHadronEneHCR_3;
291 std::vector<double> *
t_L1METPt, *t_L1METEta, *t_L1METPhi;
std::vector< double > * t_cHadronEneHC1x1_3
std::vector< double > * t_eleEne7x7
std::vector< double > * t_nHadronEne21x21
std::vector< double > * t_isoTrkEtaAll
std::vector< double > * t_maxNearPHCR
std::vector< double > * t_isoTrkPdgId
std::vector< double > * t_eleEne31x31
std::vector< double > * t_eleEneHC7x7
std::vector< int > * t_L1Decision
spr::genSimInfo isoinfo31x31
std::vector< double > * t_nHadronEne7x7
std::vector< double > * t_isoTrkPt
std::vector< double > * t_L1TauJetPt
std::vector< double > * t_photonEne7x7
std::vector< double > * t_L1MuonPt
std::vector< double > * t_isoTrkEta
std::vector< double > * t_cHadronEneHC7x7_3
std::vector< double > * t_cHadronEne15x15_3
std::vector< double > * t_maxNearP15x15
std::vector< double > * t_nHadronEneHC7x7
std::vector< double > * t_photonEne21x21
std::vector< double > * t_photonEneHC5x5
def analyze(function, filename, filter=None)
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extCenJet_
std::vector< double > * t_muEneIsoHCR
std::vector< double > * t_eleEne11x11
std::vector< double > * t_eleEne3x3
std::vector< double > * t_L1IsoEMPt
std::vector< double > * t_photonEne1x1
std::vector< double > * t_nHadronEneR
std::vector< double > * t_cHadronEneIsoR_3
std::vector< double > * t_maxNearP11x11
std::vector< double > * t_maxNearPHC7x7
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extTauJet_
std::vector< double > * t_photonEneHCR
std::vector< double > * t_muEneIsoR
std::vector< double > * t_nHadronEne9x9
std::vector< double > * t_isoTrkPdgIdAll
edm::Service< TFileService > fs
std::vector< double > * t_muEneHC7x7
std::vector< double > * t_nHadronEneIsoHCR
std::vector< double > * t_L1FwdJetPt
std::vector< double > * t_photonEneHC3x3
std::vector< double > * t_muEneR
std::vector< double > * t_muEne9x9
std::vector< double > * t_muEne21x21
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > tok_L1GTrorsrc_
std::vector< double > * t_maxNearP7x7
edm::EDGetTokenT< l1extra::L1MuonParticleCollection > tok_L1extMusrc_
spr::genSimInfo isoinfoHC7x7
std::vector< double > * t_muEneHC1x1
std::vector< double > * t_photonEneHC7x7
std::vector< double > * t_maxNearPIsoHCR
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::vector< double > * t_isoTrkPAll
std::vector< double > * t_nHadronEneHC1x1
std::vector< double > * t_eleEneIsoHCR
std::vector< double > * t_eleEneHC5x5
std::vector< double > * t_muEneHCR
std::vector< double > * t_maxNearP25x25
std::vector< double > * t_cHadronEne3x3_3
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
std::vector< double > * t_cHadronEneR_3
std::vector< double > * t_muEne1x1
std::vector< double > * t_cHadronEneIsoHCR_3
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
std::vector< double > * t_maxNearP31x31
std::vector< double > * t_muEneHC3x3
std::vector< double > * t_cHadronEne25x25_3
std::vector< double > * t_cHadronEneHCR_3
std::vector< double > * t_L1CenJetPt
std::vector< double > * t_maxNearPHC5x5
std::vector< double > * t_cHadronEne11x11_3
std::vector< double > * t_isoTrkDPhiAll
std::vector< double > * t_photonEneIsoHCR
std::vector< double > * t_nHadronEne31x31
std::vector< double > * t_maxNearP3x3
std::vector< double > * t_isoTrkPhiEC
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_eleEneIsoR
std::vector< double > * t_isoTrkPhiAll
bool operator()(const HepMC::GenParticle *a, const HepMC::GenParticle *b) const
std::vector< double > * t_photonEneHC1x1
std::vector< double > * t_maxNearPR
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1extNonIsoEm_
std::vector< double > * t_muEne31x31
std::vector< double > * t_isoTrkPtAll
std::vector< double > * t_isoTrkP
std::vector< double > * t_nHadronEne11x11
std::vector< double > * t_nHadronEneIsoR
std::vector< double > * t_eleEne21x21
std::vector< double > * t_maxNearPHC1x1
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_photonEne15x15
std::vector< double > * t_isoTrkPhi
std::vector< double > * t_nHadronEne15x15
std::vector< double > * t_photonEneR
std::vector< double > * t_isoTrkEtaEC
std::vector< double > * t_nHadronEne1x1
spr::genSimInfo isoinfo9x9
edm::EDGetTokenT< edm::HepMCProduct > tok_hepmc_
const MagneticField * bField
std::vector< double > * t_cHadronEneHC5x5_3
edm::EDGetTokenT< reco::GenParticleCollection > tok_genParticles_
std::vector< double > * t_photonEne9x9
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
std::vector< double > * t_muEne3x3
std::vector< double > * t_muEne15x15
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extFwdJet_
std::vector< double > * t_L1METPt
std::vector< double > * t_muEneHC5x5
std::vector< double > * t_cHadronEne21x21_3
std::vector< double > * t_cHadronEne7x7_3
std::vector< double > * t_photonEneIsoR
std::vector< double > * t_eleEne15x15
std::vector< double > * t_maxNearPIsoR
std::vector< double > * t_nHadronEne3x3
std::vector< double > * t_nHadronEneHC5x5
std::vector< double > * t_isoTrkEne
std::vector< double > * t_cHadronEne1x1_3