CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
PFPhotonAlgo Class Reference

#include <PFPhotonAlgo.h>

Public Member Functions

bool isPhotonValidCandidate (const reco::PFBlockRef &blockRef, std::vector< bool > &active, std::auto_ptr< reco::PFCandidateCollection > &pfPhotonCandidates, std::vector< reco::PFCandidatePhotonExtra > &pfPhotonExtraCandidates, std::vector< reco::PFCandidate > &tempElectronCandidates)
 
 PFPhotonAlgo (std::string mvaweightfile, double mvaConvCut, bool useReg, std::string X0_Map, const reco::Vertex &primary, const boost::shared_ptr< PFEnergyCalibration > &thePFEnergyCalibration, double sumPtTrackIsoForPhoton, double sumPtTrackIsoSlopeForPhoton)
 
void setGBRForest (const GBRForest *LCorrForest, const GBRForest *GCorrForest, const GBRForest *ResForest)
 
void setGBRForest (const GBRForest *LCorrForestEB, const GBRForest *LCorrForestEE, const GBRForest *GCorrForestBarrel, const GBRForest *GCorrForestEndcapHr9, const GBRForest *GCorrForestEndcapLr9, const GBRForest *PFEcalResolution)
 
void setnPU (int nVtx)
 
void setPhotonPrimaryVtx (const reco::Vertex &primary)
 
 ~PFPhotonAlgo ()
 

Private Types

enum  verbosityLevel { Silent, Summary, Chatty }
 

Private Member Functions

double ClustersPhiRMS (const std::vector< reco::CaloCluster > &PFClusters, float PFPhoPhi)
 
void EarlyConversion (std::vector< reco::PFCandidate > &tempElectronCandidates, const reco::PFBlockElementSuperCluster *sc)
 
float EvaluateGCorrMVA (const reco::PFCandidate &, const std::vector< reco::CaloCluster > &PFClusters)
 
float EvaluateLCorrMVA (reco::PFClusterRef clusterRef)
 
float EvaluateResMVA (const reco::PFCandidate &, const std::vector< reco::CaloCluster > &PFClusters)
 
bool EvaluateSingleLegMVA (const reco::PFBlockRef &blockref, const reco::Vertex &primaryvtx, unsigned int track_index)
 
std::vector< int > getPFMustacheClus (int nClust, std::vector< float > &ClustEt, std::vector< float > &ClustEta, std::vector< float > &ClustPhi)
 
void RunPFPhoton (const reco::PFBlockRef &blockRef, std::vector< bool > &active, std::auto_ptr< reco::PFCandidateCollection > &pfPhotonCandidates, std::vector< reco::PFCandidatePhotonExtra > &pfPhotonExtraCandidates, std::vector< reco::PFCandidate > &tempElectronCandidates)
 

Private Attributes

std::vector< unsigned int > AddFromElectron_
 
float chi2
 
float Clus5x5ratio_
 
float ClusEta_
 
float ClusPhi_
 
float ClusR9_
 
float CrysEta_
 
int CrysIEta_
 
int CrysIPhi_
 
float CrysPhi_
 
float CrysX_
 
float CrysY_
 
float del_phi
 
float dEta_
 
float dPhi_
 
float e1x3_
 
float e1x5_
 
float e2x5Bottom_
 
float e2x5Left_
 
float e2x5Max_
 
float e2x5Right_
 
float e2x5Top_
 
float e3x1_
 
float e3x3_
 
float E3x3_
 
float e5x5Map [5][5]
 
float EB
 
float ebottom_
 
float eleft_
 
float EoverPt
 
float eright_
 
float eSeed_
 
float etop_
 
float excluded_
 
float HoverPt
 
bool isvalid_
 
float logPFClusE_
 
float LowClusE_
 
std::vector< int > match_ind
 
float Mustache_Et_out_
 
float Mustache_EtRatio_
 
float MustE_
 
double MVACUT
 
double mvaValue
 
float nlayers
 
float nlost
 
float nPFClus_
 
float nVtx_
 
std::vector< reco::PFCandidatepermElectronCandidates_
 
float PFCrysEtaCrack_
 
float PFPhoE_
 
float PFPhoECorr_
 
float PFPhoEt_
 
float PFPhoEta_
 
float PFPhoEtCorr_
 
float PFPhoPhi_
 
float PFPhoR9_
 
float PFPhoR9Corr_
 
const reco::VertexprimaryVertex_
 
float RConv_
 
const GBRForestReaderGC_
 
const GBRForestReaderGCEB_
 
const GBRForestReaderGCEEhR9_
 
const GBRForestReaderGCEElR9_
 
const GBRForestReaderLC_
 
const GBRForestReaderLCEB_
 
const GBRForestReaderLCEE_
 
const GBRForestReaderRes_
 
float RMSAll_
 
float RMSMust_
 
float SCEtaWidth_
 
float SCPhiWidth_
 
float STIP
 
double sumPtTrackIsoForPhoton_
 
double sumPtTrackIsoSlopeForPhoton_
 
boost::shared_ptr
< PFEnergyCalibration
thePFEnergyCalibration_
 
TMVA::Reader * tmvaReader_
 
float TotPS1_
 
float TotPS2_
 
float track_pt
 
bool useReg_
 
verbosityLevel verbosityLevel_
 
float VtxZ_
 
TH2D * X0_inner
 
TH2D * X0_middle
 
TH2D * X0_outer
 
TH2D * X0_sum
 
float x0inner_
 
float x0middle_
 
float x0outer_
 

Detailed Description

Definition at line 32 of file PFPhotonAlgo.h.

Member Enumeration Documentation

Enumerator
Silent 
Summary 
Chatty 

Definition at line 132 of file PFPhotonAlgo.h.

Constructor & Destructor Documentation

PFPhotonAlgo::PFPhotonAlgo ( std::string  mvaweightfile,
double  mvaConvCut,
bool  useReg,
std::string  X0_Map,
const reco::Vertex primary,
const boost::shared_ptr< PFEnergyCalibration > &  thePFEnergyCalibration,
double  sumPtTrackIsoForPhoton,
double  sumPtTrackIsoSlopeForPhoton 
)

Definition at line 30 of file PFPhotonAlgo.cc.

PFPhotonAlgo::~PFPhotonAlgo ( )
inline

Definition at line 47 of file PFPhotonAlgo.h.

Member Function Documentation

double PFPhotonAlgo::ClustersPhiRMS ( const std::vector< reco::CaloCluster > &  PFClusters,
float  PFPhoPhi 
)
private

Definition at line 1175 of file PFPhotonAlgo.cc.

void PFPhotonAlgo::EarlyConversion ( std::vector< reco::PFCandidate > &  tempElectronCandidates,
const reco::PFBlockElementSuperCluster sc 
)
private

Definition at line 1372 of file PFPhotonAlgo.cc.

float PFPhotonAlgo::EvaluateGCorrMVA ( const reco::PFCandidate photon,
const std::vector< reco::CaloCluster > &  PFClusters 
)
private

Definition at line 1026 of file PFPhotonAlgo.cc.

float PFPhotonAlgo::EvaluateLCorrMVA ( reco::PFClusterRef  clusterRef)
private

Definition at line 1191 of file PFPhotonAlgo.cc.

float PFPhotonAlgo::EvaluateResMVA ( const reco::PFCandidate photon,
const std::vector< reco::CaloCluster > &  PFClusters 
)
private

Definition at line 921 of file PFPhotonAlgo.cc.

bool PFPhotonAlgo::EvaluateSingleLegMVA ( const reco::PFBlockRef blockref,
const reco::Vertex primaryvtx,
unsigned int  track_index 
)
private

Definition at line 1320 of file PFPhotonAlgo.cc.

std::vector<int> PFPhotonAlgo::getPFMustacheClus ( int  nClust,
std::vector< float > &  ClustEt,
std::vector< float > &  ClustEta,
std::vector< float > &  ClustPhi 
)
private
bool PFPhotonAlgo::isPhotonValidCandidate ( const reco::PFBlockRef blockRef,
std::vector< bool > &  active,
std::auto_ptr< reco::PFCandidateCollection > &  pfPhotonCandidates,
std::vector< reco::PFCandidatePhotonExtra > &  pfPhotonExtraCandidates,
std::vector< reco::PFCandidate > &  tempElectronCandidates 
)
inline

Definition at line 82 of file PFPhotonAlgo.h.

void PFPhotonAlgo::RunPFPhoton ( const reco::PFBlockRef blockRef,
std::vector< bool > &  active,
std::auto_ptr< reco::PFCandidateCollection > &  pfPhotonCandidates,
std::vector< reco::PFCandidatePhotonExtra > &  pfPhotonExtraCandidates,
std::vector< reco::PFCandidate > &  tempElectronCandidates 
)
private

Definition at line 87 of file PFPhotonAlgo.cc.

void PFPhotonAlgo::setGBRForest ( const GBRForest LCorrForest,
const GBRForest GCorrForest,
const GBRForest ResForest 
)
inline

Definition at line 49 of file PFPhotonAlgo.h.

void PFPhotonAlgo::setGBRForest ( const GBRForest LCorrForestEB,
const GBRForest LCorrForestEE,
const GBRForest GCorrForestBarrel,
const GBRForest GCorrForestEndcapHr9,
const GBRForest GCorrForestEndcapLr9,
const GBRForest PFEcalResolution 
)
inline

Definition at line 59 of file PFPhotonAlgo.h.

void PFPhotonAlgo::setnPU ( int  nVtx)
inline

Definition at line 75 of file PFPhotonAlgo.h.

void PFPhotonAlgo::setPhotonPrimaryVtx ( const reco::Vertex primary)
inline

Definition at line 78 of file PFPhotonAlgo.h.

Member Data Documentation

std::vector<unsigned int> PFPhotonAlgo::AddFromElectron_
private

Definition at line 197 of file PFPhotonAlgo.h.

float PFPhotonAlgo::chi2
private

Definition at line 168 of file PFPhotonAlgo.h.

float PFPhotonAlgo::Clus5x5ratio_
private

Definition at line 174 of file PFPhotonAlgo.h.

float PFPhotonAlgo::ClusEta_
private

Definition at line 174 of file PFPhotonAlgo.h.

float PFPhotonAlgo::ClusPhi_
private

Definition at line 174 of file PFPhotonAlgo.h.

float PFPhotonAlgo::ClusR9_
private

Definition at line 174 of file PFPhotonAlgo.h.

float PFPhotonAlgo::CrysEta_
private

Definition at line 174 of file PFPhotonAlgo.h.

int PFPhotonAlgo::CrysIEta_
private

Definition at line 176 of file PFPhotonAlgo.h.

int PFPhotonAlgo::CrysIPhi_
private

Definition at line 176 of file PFPhotonAlgo.h.

float PFPhotonAlgo::CrysPhi_
private

Definition at line 174 of file PFPhotonAlgo.h.

float PFPhotonAlgo::CrysX_
private

Definition at line 177 of file PFPhotonAlgo.h.

float PFPhotonAlgo::CrysY_
private

Definition at line 177 of file PFPhotonAlgo.h.

float PFPhotonAlgo::del_phi
private

Definition at line 168 of file PFPhotonAlgo.h.

float PFPhotonAlgo::dEta_
private

Definition at line 185 of file PFPhotonAlgo.h.

float PFPhotonAlgo::dPhi_
private

Definition at line 185 of file PFPhotonAlgo.h.

float PFPhotonAlgo::e1x3_
private

Definition at line 180 of file PFPhotonAlgo.h.

float PFPhotonAlgo::e1x5_
private

Definition at line 180 of file PFPhotonAlgo.h.

float PFPhotonAlgo::e2x5Bottom_
private

Definition at line 180 of file PFPhotonAlgo.h.

float PFPhotonAlgo::e2x5Left_
private

Definition at line 180 of file PFPhotonAlgo.h.

float PFPhotonAlgo::e2x5Max_
private

Definition at line 182 of file PFPhotonAlgo.h.

float PFPhotonAlgo::e2x5Right_
private

Definition at line 180 of file PFPhotonAlgo.h.

float PFPhotonAlgo::e2x5Top_
private

Definition at line 180 of file PFPhotonAlgo.h.

float PFPhotonAlgo::e3x1_
private

Definition at line 180 of file PFPhotonAlgo.h.

float PFPhotonAlgo::e3x3_
private

Definition at line 174 of file PFPhotonAlgo.h.

float PFPhotonAlgo::E3x3_
private

Definition at line 184 of file PFPhotonAlgo.h.

float PFPhotonAlgo::e5x5Map[5][5]
private

Definition at line 171 of file PFPhotonAlgo.h.

float PFPhotonAlgo::EB
private

Definition at line 178 of file PFPhotonAlgo.h.

float PFPhotonAlgo::ebottom_
private

Definition at line 181 of file PFPhotonAlgo.h.

float PFPhotonAlgo::eleft_
private

Definition at line 181 of file PFPhotonAlgo.h.

float PFPhotonAlgo::EoverPt
private

Definition at line 168 of file PFPhotonAlgo.h.

float PFPhotonAlgo::eright_
private

Definition at line 181 of file PFPhotonAlgo.h.

float PFPhotonAlgo::eSeed_
private

Definition at line 180 of file PFPhotonAlgo.h.

float PFPhotonAlgo::etop_
private

Definition at line 181 of file PFPhotonAlgo.h.

float PFPhotonAlgo::excluded_
private

Definition at line 195 of file PFPhotonAlgo.h.

float PFPhotonAlgo::HoverPt
private

Definition at line 168 of file PFPhotonAlgo.h.

bool PFPhotonAlgo::isvalid_
private

Definition at line 139 of file PFPhotonAlgo.h.

float PFPhotonAlgo::logPFClusE_
private

Definition at line 174 of file PFPhotonAlgo.h.

float PFPhotonAlgo::LowClusE_
private

Definition at line 185 of file PFPhotonAlgo.h.

std::vector<int> PFPhotonAlgo::match_ind
private

Definition at line 163 of file PFPhotonAlgo.h.

float PFPhotonAlgo::Mustache_Et_out_
private

Definition at line 195 of file PFPhotonAlgo.h.

float PFPhotonAlgo::Mustache_EtRatio_
private

Definition at line 195 of file PFPhotonAlgo.h.

float PFPhotonAlgo::MustE_
private

Definition at line 184 of file PFPhotonAlgo.h.

double PFPhotonAlgo::MVACUT
private

Definition at line 146 of file PFPhotonAlgo.h.

double PFPhotonAlgo::mvaValue
private

Definition at line 169 of file PFPhotonAlgo.h.

float PFPhotonAlgo::nlayers
private

Definition at line 167 of file PFPhotonAlgo.h.

float PFPhotonAlgo::nlost
private

Definition at line 167 of file PFPhotonAlgo.h.

float PFPhotonAlgo::nPFClus_
private

Definition at line 185 of file PFPhotonAlgo.h.

float PFPhotonAlgo::nVtx_
private

Definition at line 187 of file PFPhotonAlgo.h.

std::vector< reco::PFCandidate > PFPhotonAlgo::permElectronCandidates_
private

Definition at line 166 of file PFPhotonAlgo.h.

float PFPhotonAlgo::PFCrysEtaCrack_
private

Definition at line 174 of file PFPhotonAlgo.h.

float PFPhotonAlgo::PFPhoE_
private

Definition at line 184 of file PFPhotonAlgo.h.

float PFPhotonAlgo::PFPhoECorr_
private

Definition at line 184 of file PFPhotonAlgo.h.

float PFPhotonAlgo::PFPhoEt_
private

Definition at line 184 of file PFPhotonAlgo.h.

float PFPhotonAlgo::PFPhoEta_
private

Definition at line 184 of file PFPhotonAlgo.h.

float PFPhotonAlgo::PFPhoEtCorr_
private

Definition at line 184 of file PFPhotonAlgo.h.

float PFPhotonAlgo::PFPhoPhi_
private

Definition at line 184 of file PFPhotonAlgo.h.

float PFPhotonAlgo::PFPhoR9_
private

Definition at line 184 of file PFPhotonAlgo.h.

float PFPhotonAlgo::PFPhoR9Corr_
private

Definition at line 184 of file PFPhotonAlgo.h.

const reco::Vertex* PFPhotonAlgo::primaryVertex_
private

Definition at line 148 of file PFPhotonAlgo.h.

float PFPhotonAlgo::RConv_
private

Definition at line 184 of file PFPhotonAlgo.h.

const GBRForest* PFPhotonAlgo::ReaderGC_
private

Definition at line 151 of file PFPhotonAlgo.h.

const GBRForest* PFPhotonAlgo::ReaderGCEB_
private

Definition at line 156 of file PFPhotonAlgo.h.

const GBRForest* PFPhotonAlgo::ReaderGCEEhR9_
private

Definition at line 157 of file PFPhotonAlgo.h.

const GBRForest* PFPhotonAlgo::ReaderGCEElR9_
private

Definition at line 158 of file PFPhotonAlgo.h.

const GBRForest* PFPhotonAlgo::ReaderLC_
private

Definition at line 150 of file PFPhotonAlgo.h.

const GBRForest* PFPhotonAlgo::ReaderLCEB_
private

Definition at line 154 of file PFPhotonAlgo.h.

const GBRForest* PFPhotonAlgo::ReaderLCEE_
private

Definition at line 155 of file PFPhotonAlgo.h.

const GBRForest* PFPhotonAlgo::ReaderRes_
private

Definition at line 152 of file PFPhotonAlgo.h.

float PFPhotonAlgo::RMSAll_
private

Definition at line 185 of file PFPhotonAlgo.h.

float PFPhotonAlgo::RMSMust_
private

Definition at line 185 of file PFPhotonAlgo.h.

float PFPhotonAlgo::SCEtaWidth_
private

Definition at line 184 of file PFPhotonAlgo.h.

float PFPhotonAlgo::SCPhiWidth_
private

Definition at line 184 of file PFPhotonAlgo.h.

float PFPhotonAlgo::STIP
private

Definition at line 168 of file PFPhotonAlgo.h.

double PFPhotonAlgo::sumPtTrackIsoForPhoton_
private

Definition at line 161 of file PFPhotonAlgo.h.

double PFPhotonAlgo::sumPtTrackIsoSlopeForPhoton_
private

Definition at line 162 of file PFPhotonAlgo.h.

boost::shared_ptr<PFEnergyCalibration> PFPhotonAlgo::thePFEnergyCalibration_
private

Definition at line 160 of file PFPhotonAlgo.h.

TMVA::Reader* PFPhotonAlgo::tmvaReader_
private

Definition at line 149 of file PFPhotonAlgo.h.

float PFPhotonAlgo::TotPS1_
private

Definition at line 186 of file PFPhotonAlgo.h.

float PFPhotonAlgo::TotPS2_
private

Definition at line 186 of file PFPhotonAlgo.h.

float PFPhotonAlgo::track_pt
private

Definition at line 168 of file PFPhotonAlgo.h.

bool PFPhotonAlgo::useReg_
private

Definition at line 147 of file PFPhotonAlgo.h.

verbosityLevel PFPhotonAlgo::verbosityLevel_
private

Definition at line 140 of file PFPhotonAlgo.h.

float PFPhotonAlgo::VtxZ_
private

Definition at line 174 of file PFPhotonAlgo.h.

TH2D* PFPhotonAlgo::X0_inner
private

Definition at line 190 of file PFPhotonAlgo.h.

TH2D* PFPhotonAlgo::X0_middle
private

Definition at line 191 of file PFPhotonAlgo.h.

TH2D* PFPhotonAlgo::X0_outer
private

Definition at line 192 of file PFPhotonAlgo.h.

TH2D* PFPhotonAlgo::X0_sum
private

Definition at line 189 of file PFPhotonAlgo.h.

float PFPhotonAlgo::x0inner_
private

Definition at line 193 of file PFPhotonAlgo.h.

float PFPhotonAlgo::x0middle_
private

Definition at line 193 of file PFPhotonAlgo.h.

float PFPhotonAlgo::x0outer_
private

Definition at line 193 of file PFPhotonAlgo.h.