1 #ifndef Calibration_HcalCalibAlgos_GammaJetAnalysis_H_
2 #define Calibration_HcalCalibAlgos_GammaJetAnalysis_H_
64 class PhotonPair :
protected std::pair<const reco::Photon*, double> {
81 inline double pt(
void)
const {
return second; }
285 template<
class JetPair_type>
287 if (!pho.
isValid() || !jet.isValid())
return 9999.;
289 float phi2=jet.jet()->phi();
290 float dphi=fabs(phi1-phi2);
291 const float cPi= 4*atan(1);
292 while (dphi>cPi) dphi = fabs(2*cPi - dphi);
297 double deltaR(
const double eta1,
const double phi1,
const double eta2,
const double phi2);
304 template<
class Jet_type>
306 if (!photon.
isValid())
return 9999.;
308 jet->eta(), jet->phi());
float tagPho_pfiso_myphoton03_
void copy_leadingPfJetVars_to_pfJet2()
std::vector< float > ppfjet_cluster_phi_
float tagPho_TrkIsoHollowDR04_
std::vector< int > pfjet2_twr_ieta_
std::vector< int > pfjet2_had_id_
edm::EDGetTokenT< std::vector< Bool_t > > tok_tightPhotonV_
std::vector< int > pfjet2_twr_iphi_
float tagPho_HcalIsoDR04_
ParticleType
particle types
std::vector< float > pfjet2_candtrack_px_
std::vector< float > ppfjet_had_py_
std::vector< float > ppfjet_candtrack_px_
edm::EDGetTokenT< reco::ConversionCollection > tok_Conv_
edm::EDGetTokenT< GenEventInfoProduct > tok_GenEvInfo_
int tagPho_ConvSafeEleVeto_
float ppfjet_electron_pz_
float pfjet2_electron_EcalE_
std::vector< int > pfjet2_twr_hadind_
std::vector< float > ppfjet_candtrack_pz_
std::vector< int > pfjet2_twr_elmttype_
edm::EDGetTokenT< reco::PFCandidateCollection > tok_PFCand_
PhotonPair(const reco::Photon *ph, double pt, int setIdx=-1)
std::vector< int > photonTrigFired_
PFJetCorretPair(const reco::PFJet *j, double s)
std::vector< float > pfjet2_cluster_dR_
edm::EDGetTokenT< edm::SortedCollection< HFRecHit, edm::StrictWeakOrdering< HFRecHit > > > tok_HF_
Base class for all types of Jets.
float ppfjet_ChargedEMFrac_
std::vector< float > ppfjet_had_E_
float pfjet2_NeutralEMFrac_
edm::EDGetTokenT< double > tok_Rho_
edm::EDGetTokenT< edm::TriggerResults > tok_TrigRes_
std::vector< int > ppfjet_twr_ieta_
std::vector< int > ppfjet_twr_hadind_
std::string hoRecHitName_
bool writeTriggerPrescale_
std::vector< int > ppfjet_twr_subdet_
int ppfjet_nConstituents_
std::vector< int > ppfjet_had_candtrackind_
int pfjet2_nConstituents_
const reco::PFJet * jet(void) const
std::vector< float > pfTkIsoWithVertex(const reco::Photon *localPho1, edm::Handle< reco::PFCandidateCollection > pfHandle, edm::Handle< reco::VertexCollection > vtxHandle, float dRmax, float dRvetoBarrel, float dRvetoEndcap, float ptMin, float dzMax, float dxyMax, reco::PFCandidate::ParticleType pfToUse)
std::string hbheRecHitName_
std::vector< float > pfjet2_had_E_
float ppfjet_NeutralHadronFrac_
edm::EDGetTokenT< reco::PFMETCollection > tok_PFMET_
edm::EDGetTokenT< reco::VertexCollection > tok_Vertex_
float ppfjet_electron_EcalE_
std::vector< float > pfjet2_had_EcalE_
float ppfjet_ChargedHadronFrac_
std::vector< float > pfjet2_cluster_eta_
float tagPho_EcalIsoDR04_
edm::EDGetTokenT< reco::BeamSpot > tok_BS_
std::vector< float > pfjet2_candtrack_py_
Jets made from PFObjects.
virtual double eta() const
momentum pseudorapidity
virtual double pt() const
transverse momentum
std::vector< int > pfjet2_twr_candtrackind_
std::string photonCollName_
std::vector< int > pfjet2_twr_clusterind_
std::vector< int > pfjet2_twr_depth_
std::vector< int > pfjet2_had_candtrackind_
std::vector< float > ppfjet_twr_frac_
U second(std::pair< T, U > const &p)
float pfjet2_electron_px_
edm::EDGetTokenT< std::vector< reco::GenParticle > > tok_GenPart_
float pfjet2_NeutralHadronFrac_
std::vector< int > ppfjet_had_id_
float pfjet2_ChargedHadronFrac_
float met_value_
MET info.
std::vector< int > jetTrigPrescale_
bool operator()(const PhotonPair &a, const PhotonPair &b)
std::vector< int > ppfjet_twr_clusterind_
edm::EDGetTokenT< edm::SortedCollection< HORecHit, edm::StrictWeakOrdering< HORecHit > > > tok_HO_
float ppfjet_NeutralEMFrac_
std::string rootHistFilename_
float pfjet2_electron_pz_
std::string hfRecHitName_
std::vector< float > pfjet2_had_E_mctruth_
std::vector< float > ppfjet_candtrack_py_
float pfEcalIso(const reco::Photon *localPho1, edm::Handle< reco::PFCandidateCollection > pfHandle, float dRmax, float dRVetoBarrel, float dRVetoEndcap, float etaStripBarrel, float etaStripEndcap, float energyBarrel, float energyEndcap, reco::PFCandidate::ParticleType pfToUse)
std::vector< float > pfjet2_had_py_
float pfHcalIso(const reco::Photon *localPho, edm::Handle< reco::PFCandidateCollection > pfHandle, float dRmax, float dRveto, reco::PFCandidate::ParticleType pfToUse)
std::vector< float > ppfjet_cluster_dR_
edm::EDGetTokenT< reco::PhotonCollection > tok_Photon_
void photon(const reco::Photon *ph)
float pfjet2_ChargedEMFrac_
float ppfjet_ChargedMultiplicity_
float tagPho_pfiso_myneutral03_
std::vector< float > ppfjet_twr_hade_
std::vector< int > ppfjet_twr_elmttype_
std::vector< float > ppfjet_had_rawHcalE_
edm::InputTag rhoCollection_
edm::EDGetTokenT< std::vector< Bool_t > > tok_loosePhotonV_
std::vector< int > ppfjet_twr_depth_
edm::EDGetTokenT< edm::ValueMap< Bool_t > > tok_tightPhoton_
float pfjet2_photon_EcalE_
const reco::Photon * photon(void) const
std::vector< float > pfjet2_candtrack_pz_
double deltaR(const PhotonPair &photon, const Jet_type *jet)
std::vector< float > pfjet2_twr_frac_
edm::InputTag pfType1METColl
bool operator()(const PFJetCorretPair &a, const PFJetCorretPair &b)
std::vector< float > pfjet2_had_rawHcalE_
void beginRun(const edm::Run &, const edm::EventSetup &)
std::string genParticleCollName_
std::vector< float > ppfjet_twr_dR_
std::vector< float > ppfjet_candtrack_EcalE_
std::vector< float > ppfjet_cluster_eta_
float pfjet2_unkown_EcalE_
std::vector< float > pfjet2_cluster_phi_
std::string pfJetCollName_
void clear_leadingPfJetVars()
std::vector< std::string > photonTrigNamesV_
float ppfjet_photon_EcalE_
std::vector< int > jetTrigFired_
edm::EDGetTokenT< reco::PFJetCollection > tok_PFJet_
std::vector< float > ppfjet_had_E_mctruth_
edm::EDGetTokenT< edm::ValueMap< Bool_t > > tok_loosePhoton_
std::vector< std::string > jetTrigNamesV_
edm::EDGetTokenT< std::vector< reco::Vertex > > tok_PV_
float ppfjet_electron_py_
void jet(const reco::PFJet *j)
std::vector< int > pfjet2_had_ntwrs_
std::string genEventInfoName_
double deltaR(const reco::Jet *j1, const reco::Jet *j2)
int getEtaPhi(const DetId id)
std::vector< float > pfjet2_twr_hade_
edm::EDGetTokenT< edm::SortedCollection< HBHERecHit, edm::StrictWeakOrdering< HBHERecHit > > > tok_HBHE_
std::string genJetCollName_
std::vector< float > pfjet2_had_emf_
HLTPrescaleProvider hltPrescaleProvider_
std::vector< float > ppfjet_had_px_
std::vector< int > ppfjet_had_mcpdgId_
std::vector< float > pfjet2_twr_dR_
GammaJetAnalysis(const edm::ParameterSet &)
float pfjet2_electron_py_
std::vector< float > pfjet2_had_pz_
edm::EDGetTokenT< reco::GsfElectronCollection > tok_GsfElec_
float pfjet2_ChargedMultiplicity_
std::vector< int > pfjet2_twr_subdet_
std::vector< int > ppfjet_twr_iphi_
std::vector< int > photonTrigPrescale_
std::vector< int > ppfjet_had_ntwrs_
edm::EDGetTokenT< std::vector< reco::GenJet > > tok_GenJet_
std::vector< float > ppfjet_had_pz_
std::vector< float > pfjet2_candtrack_EcalE_
float ppfjet_unkown_EcalE_
std::vector< int > pfjet2_had_mcpdgId_
edm::EDGetTokenT< reco::PFMETCollection > tok_PFType1MET_
float ppfjet_electron_px_
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::vector< float > ppfjet_had_emf_
virtual double phi() const
momentum azimuthal angle
std::vector< int > ppfjet_twr_candtrackind_
float calc_dPhi(const PhotonPair &pho, const JetPair_type &jet)
std::vector< std::vector< float > > tagPho_pfiso_mycharged03
std::vector< float > ppfjet_had_EcalE_
std::vector< float > pfjet2_had_px_
std::string pfJetCorrName_
float tagPho_HcalIsoDR0412_