CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Public Attributes | Private Attributes
PhotonMVAEstimatorRunIIFall17 Class Reference

#include <PhotonMVAEstimatorRunIIFall17.h>

Inheritance diagram for PhotonMVAEstimatorRunIIFall17:
AnyMVAEstimatorRun2Base

Classes

struct  AllVariables
 

Public Types

enum  mvaCategories { UNDEFINED = -1, CAT_EB = 0, CAT_EE = 1 }
 

Public Member Functions

void constrainMVAVariables (AllVariables &) const
 
std::unique_ptr< const GBRForestcreateSingleReader (const int iCategory, const edm::FileInPath &weightFile)
 
std::vector< float > fillMVAVariables (const edm::Ptr< reco::Candidate > &particle, const edm::Event &iEvent) const override
 
int findCategory (const edm::Ptr< reco::Candidate > &particle) const override
 
virtual const std::string & getName () const override final
 
virtual int getNCategories () const
 
virtual const std::string & getTag () const override final
 
bool isEndcapCategory (int category) const
 
float mvaValue (const edm::Ptr< reco::Candidate > &particle, const edm::Event &) const
 
 PhotonMVAEstimatorRunIIFall17 (const edm::ParameterSet &conf)
 
void setConsumes (edm::ConsumesCollector &&) const override
 
 ~PhotonMVAEstimatorRunIIFall17 ()
 
- Public Member Functions inherited from AnyMVAEstimatorRun2Base
 AnyMVAEstimatorRun2Base (const edm::ParameterSet &conf)
 
virtual void getEventContent (const edm::Event &iEvent) const final
 
template<typename... Args>
std::vector< float > packMVAVariables (const Args...args) const
 
virtual ~AnyMVAEstimatorRun2Base ()
 

Public Attributes

const uint nCategories = 2
 
- Public Attributes inherited from AnyMVAEstimatorRun2Base
const edm::ParameterSet _conf
 

Private Attributes

AllVariables allMVAVars_
 
EffectiveAreas effectiveAreas_
 
std::vector< std::unique_ptr< const GBRForest > > gbrForests_
 
const std::string methodName_
 
const std::string name_ = "PhotonMVAEstimatorRunIIFall17"
 
const edm::InputTag phoChargedIsolationLabel_
 
std::vector< double > phoIsoPtScalingCoeff_
 
const edm::InputTag phoPhotonIsolationLabel_
 
const edm::InputTag phoWorstChargedIsolationLabel_
 
const edm::InputTag rhoLabel_
 
std::string tag_
 

Detailed Description

Definition at line 24 of file PhotonMVAEstimatorRunIIFall17.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

PhotonMVAEstimatorRunIIFall17::PhotonMVAEstimatorRunIIFall17 ( const edm::ParameterSet conf)

Definition at line 6 of file PhotonMVAEstimatorRunIIFall17.cc.

References createSingleReader(), gbrForests_, edm::ParameterSet::getParameter(), mps_fire::i, nCategories, AlCaHLTBitMon_QueryRunRegistry::string, tag_, parallelization::uint(), electrons_cff::weightFile, mvaElectronID_Fall17_iso_V1_cff::weightFileNames, and ~PhotonMVAEstimatorRunIIFall17().

6  :
8  methodName_("BDTG method"),
9  phoChargedIsolationLabel_(conf.getParameter<edm::InputTag>("phoChargedIsolation")),
10  phoPhotonIsolationLabel_(conf.getParameter<edm::InputTag>("phoPhotonIsolation")),
11  phoWorstChargedIsolationLabel_(conf.getParameter<edm::InputTag>("phoWorstChargedIsolation")),
12  rhoLabel_(conf.getParameter<edm::InputTag>("rho")),
13  effectiveAreas_( (conf.getParameter<edm::FileInPath>("effAreasConfigFile")).fullPath()),
14  phoIsoPtScalingCoeff_(conf.getParameter<std::vector<double >>("phoIsoPtScalingCoeff"))
15 
16 {
17 
18  //
19  // Construct the MVA estimators
20  //
21  tag_ = conf.getParameter<std::string>("mvaTag");
22 
23  const std::vector <std::string> weightFileNames
24  = conf.getParameter<std::vector<std::string> >("weightFileNames");
25 
26  if( weightFileNames.size() != nCategories )
27  throw cms::Exception("MVA config failure: ")
28  << "wrong number of weightfiles" << std::endl;
29 
30  gbrForests_.clear();
31  // The method name is just a key to retrieve this method later, it is not
32  // a control parameter for a reader (the full definition of the MVA type and
33  // everything else comes from the xml weight files).
34 
35  // Create a TMVA reader object for each category
36  for(uint i=0; i<nCategories; i++){
37 
38  // Use unique_ptr so that all readers are properly cleaned up
39  // when the vector clear() is called in the destructor
40 
41  edm::FileInPath weightFile( weightFileNames[i] );
43 
44  }
45 
46 }
T getParameter(std::string const &) const
AnyMVAEstimatorRun2Base(const edm::ParameterSet &conf)
std::vector< std::unique_ptr< const GBRForest > > gbrForests_
def uint(string)
std::unique_ptr< const GBRForest > createSingleReader(const int iCategory, const edm::FileInPath &weightFile)
PhotonMVAEstimatorRunIIFall17::~PhotonMVAEstimatorRunIIFall17 ( )

Definition at line 49 of file PhotonMVAEstimatorRunIIFall17.cc.

References mvaValue().

Referenced by PhotonMVAEstimatorRunIIFall17().

49  {
50 }

Member Function Documentation

void PhotonMVAEstimatorRunIIFall17::constrainMVAVariables ( AllVariables ) const

Definition at line 292 of file PhotonMVAEstimatorRunIIFall17.cc.

Referenced by fillMVAVariables(), and getTag().

292  {
293 
294  // Check that variables do not have crazy values
295 
296  // This function is currently empty as this specific MVA was not
297  // developed with restricting variables to specific physical ranges.
298 
299 }
std::unique_ptr< const GBRForest > PhotonMVAEstimatorRunIIFall17::createSingleReader ( const int  iCategory,
const edm::FileInPath weightFile 
)

Definition at line 127 of file PhotonMVAEstimatorRunIIFall17.cc.

References allMVAVars_, edm::FileInPath::fullPath(), isEndcapCategory(), methodName_, PhotonMVAEstimatorRunIIFall17::AllVariables::varChIsoRaw, PhotonMVAEstimatorRunIIFall17::AllVariables::varE2x2overE5x5, PhotonMVAEstimatorRunIIFall17::AllVariables::varESEffSigmaRR, PhotonMVAEstimatorRunIIFall17::AllVariables::varESEnOverRawE, PhotonMVAEstimatorRunIIFall17::AllVariables::varPhoIsoRaw, PhotonMVAEstimatorRunIIFall17::AllVariables::varR9, PhotonMVAEstimatorRunIIFall17::AllVariables::varRawE, PhotonMVAEstimatorRunIIFall17::AllVariables::varRho, PhotonMVAEstimatorRunIIFall17::AllVariables::varSCEta, PhotonMVAEstimatorRunIIFall17::AllVariables::varSCEtaWidth, PhotonMVAEstimatorRunIIFall17::AllVariables::varSCPhiWidth, PhotonMVAEstimatorRunIIFall17::AllVariables::varSieie, PhotonMVAEstimatorRunIIFall17::AllVariables::varSieip, and PhotonMVAEstimatorRunIIFall17::AllVariables::varWorstChRaw.

Referenced by isEndcapCategory(), and PhotonMVAEstimatorRunIIFall17().

127  {
128 
129  //
130  // Create the reader
131  //
132  TMVA::Reader tmpTMVAReader( "!Color:Silent:Error" );
133 
134  //
135  // Configure all variables and spectators. Note: the order and names
136  // must match what is found in the xml weights file!
137  //
138 
139  tmpTMVAReader.AddVariable("SCRawE", &allMVAVars_.varRawE);
140  tmpTMVAReader.AddVariable("r9", &allMVAVars_.varR9);
141  tmpTMVAReader.AddVariable("sigmaIetaIeta", &allMVAVars_.varSieie);
142  tmpTMVAReader.AddVariable("etaWidth", &allMVAVars_.varSCEtaWidth);
143  tmpTMVAReader.AddVariable("phiWidth", &allMVAVars_.varSCPhiWidth);
144  tmpTMVAReader.AddVariable("covIEtaIPhi", &allMVAVars_.varSieip);
145  tmpTMVAReader.AddVariable("s4", &allMVAVars_.varE2x2overE5x5);
146  tmpTMVAReader.AddVariable("phoIso03", &allMVAVars_.varPhoIsoRaw);
147  tmpTMVAReader.AddVariable("chgIsoWrtChosenVtx", &allMVAVars_.varChIsoRaw);
148  tmpTMVAReader.AddVariable("chgIsoWrtWorstVtx", &allMVAVars_.varWorstChRaw);
149  tmpTMVAReader.AddVariable("scEta", &allMVAVars_.varSCEta);
150  tmpTMVAReader.AddVariable("rho", &allMVAVars_.varRho);
151 
152  // Endcap only variables
153  if( isEndcapCategory(iCategory) ){
154  tmpTMVAReader.AddVariable("esEffSigmaRR", &allMVAVars_.varESEffSigmaRR);
155  tmpTMVAReader.AddVariable("esEnergy/SCRawE", &allMVAVars_.varESEnOverRawE);
156  }
157 
158  //
159  // Book the method and set up the weights file
160  //
161  tmpTMVAReader.BookMVA(methodName_ , weightFile.fullPath() );
162 
163  return std::unique_ptr<const GBRForest>( new GBRForest( dynamic_cast<TMVA::MethodBDT*>( tmpTMVAReader.FindMVA(methodName_) ) ) );
164 
165 }
std::string fullPath() const
Definition: FileInPath.cc:197
std::vector< float > PhotonMVAEstimatorRunIIFall17::fillMVAVariables ( const edm::Ptr< reco::Candidate > &  particle,
const edm::Event iEvent 
) const
overridevirtual

Implements AnyMVAEstimatorRun2Base.

Definition at line 168 of file PhotonMVAEstimatorRunIIFall17.cc.

References constrainMVAVariables(), reco::Photon::ShowerShape::e2x2, heepElectronID_HEEPV50_CSA14_25ns_cff::e5x5, mvaPhotonID_Spring15_25ns_nonTrig_V0_cff::esEffSigmaRRMap, Exception, findCategory(), reco::Photon::full5x5_showerShapeVariables(), mvaPhotonID_Spring15_25ns_nonTrig_V0_cff::full5x5E2x2Map, mvaPhotonID_Spring15_25ns_nonTrig_V0_cff::full5x5E5x5Map, heepElectronID_HEEPV50_CSA14_25ns_cff::full5x5SigmaIEtaIEtaMap, mvaPhotonID_Spring15_25ns_nonTrig_V0_cff::full5x5SigmaIEtaIPhiMap, edm::Event::getByLabel(), isEndcapCategory(), edm::Ptr< T >::isNull(), edm::HandleBase::isValid(), SiStripPI::max, AnyMVAEstimatorRun2Base::packMVAVariables(), phoChargedIsolationLabel_, phoPhotonIsolationLabel_, phoWorstChargedIsolationLabel_, reco::Photon::r9(), rho, rhoLabel_, reco::Photon::superCluster(), PhotonMVAEstimatorRunIIFall17::AllVariables::varChIsoRaw, PhotonMVAEstimatorRunIIFall17::AllVariables::varE2x2overE5x5, PhotonMVAEstimatorRunIIFall17::AllVariables::varESEffSigmaRR, PhotonMVAEstimatorRunIIFall17::AllVariables::varESEnOverRawE, PhotonMVAEstimatorRunIIFall17::AllVariables::varPhoIsoRaw, PhotonMVAEstimatorRunIIFall17::AllVariables::varR9, PhotonMVAEstimatorRunIIFall17::AllVariables::varRawE, PhotonMVAEstimatorRunIIFall17::AllVariables::varRho, PhotonMVAEstimatorRunIIFall17::AllVariables::varSCEta, PhotonMVAEstimatorRunIIFall17::AllVariables::varSCEtaWidth, PhotonMVAEstimatorRunIIFall17::AllVariables::varSCPhiWidth, PhotonMVAEstimatorRunIIFall17::AllVariables::varSieie, PhotonMVAEstimatorRunIIFall17::AllVariables::varSieip, and PhotonMVAEstimatorRunIIFall17::AllVariables::varWorstChRaw.

Referenced by getTag(), and mvaValue().

168  {
169 
170  //
171  // Declare all value maps corresponding to the above tokens
172  //
178  //
179  edm::Handle<edm::ValueMap<float> > phoChargedIsolationMap;
180  edm::Handle<edm::ValueMap<float> > phoPhotonIsolationMap;
181  edm::Handle<edm::ValueMap<float> > phoWorstChargedIsolationMap;
182 
183  // Rho will be pulled from the event content
185 
186  // Get the isolation maps
187  iEvent.getByLabel(phoChargedIsolationLabel_, phoChargedIsolationMap);
188  iEvent.getByLabel(phoPhotonIsolationLabel_, phoPhotonIsolationMap);
189  iEvent.getByLabel(phoWorstChargedIsolationLabel_, phoWorstChargedIsolationMap);
190 
191  // Get rho
192  iEvent.getByLabel(rhoLabel_,rho);
193 
194  // Make sure everything is retrieved successfully
195  if(! ( phoChargedIsolationMap.isValid()
196  && phoPhotonIsolationMap.isValid()
197  && phoWorstChargedIsolationMap.isValid()
198  && rho.isValid() ) )
199  throw cms::Exception("MVA failure: ")
200  << "Failed to retrieve event content needed for this MVA"
201  << std::endl
202  << "Check python MVA configuration file and make sure all needed"
203  << std::endl
204  << "producers are running upstream" << std::endl;
205 
206  // Try to cast the particle into a reco particle.
207  // This should work for both reco and pat.
208  const edm::Ptr<reco::Photon> phoRecoPtr(particle);
209  if( phoRecoPtr.isNull() )
210  throw cms::Exception("MVA failure: ")
211  << " given particle is expected to be reco::Photon or pat::Photon," << std::endl
212  << " but appears to be neither" << std::endl;
213 
214  // Both pat and reco particles have exactly the same accessors.
215  auto superCluster = phoRecoPtr->superCluster();
216  // Full 5x5 cluster shapes. We could take some of this directly from
217  // the photon object, but some of these are not available.
218  float e2x2 = std::numeric_limits<float>::max();
220  float full5x5_sigmaIetaIeta = std::numeric_limits<float>::max();
221  float full5x5_sigmaIetaIphi = std::numeric_limits<float>::max();
222  float effSigmaRR = std::numeric_limits<float>::max();
223 
224  AllVariables allMVAVars;
225 
226  const auto& full5x5_pss = phoRecoPtr->full5x5_showerShapeVariables();
227  e2x2 = full5x5_pss.e2x2;
228  e5x5 = full5x5_pss.e5x5;
229  full5x5_sigmaIetaIeta = full5x5_pss.sigmaIetaIeta;
230  full5x5_sigmaIetaIphi = full5x5_pss.sigmaIetaIphi;
231  effSigmaRR = full5x5_pss.effSigmaRR;
232 
233  allMVAVars.varRawE = superCluster->rawEnergy();
234  allMVAVars.varR9 = phoRecoPtr->r9() ;
235  allMVAVars.varSieie = full5x5_sigmaIetaIeta;
236  allMVAVars.varSCEtaWidth = superCluster->etaWidth();
237  allMVAVars.varSCPhiWidth = superCluster->phiWidth();
238  allMVAVars.varSieip = full5x5_sigmaIetaIphi;
239  allMVAVars.varE2x2overE5x5 = e2x2/e5x5;
240  allMVAVars.varPhoIsoRaw = (*phoPhotonIsolationMap)[phoRecoPtr];
241  allMVAVars.varChIsoRaw = (*phoChargedIsolationMap)[phoRecoPtr];
242  allMVAVars.varWorstChRaw = (*phoWorstChargedIsolationMap)[phoRecoPtr];
243  allMVAVars.varSCEta = superCluster->eta();
244  allMVAVars.varRho = *rho;
245  allMVAVars.varESEffSigmaRR = effSigmaRR;
246  allMVAVars.varESEnOverRawE = superCluster->preshowerEnergy() / superCluster->rawEnergy();
247 
248  constrainMVAVariables(allMVAVars);
249  //
250  // Important: the order of variables in the "vars" vector has to be EXACTLY
251  // the same as in the .xml file defining the MVA.
252  //
253  std::vector<float> vars;
254  if( isEndcapCategory( findCategory( particle ) ) ) {
255  vars = packMVAVariables(
256  allMVAVars.varRawE,
257  allMVAVars.varR9,
258  allMVAVars.varSieie,
259  allMVAVars.varSCEtaWidth,
260  allMVAVars.varSCPhiWidth,
261  allMVAVars.varSieip,
262  allMVAVars.varE2x2overE5x5,
263  allMVAVars.varPhoIsoRaw,
264  allMVAVars.varChIsoRaw,
265  allMVAVars.varWorstChRaw,
266  allMVAVars.varSCEta,
267  allMVAVars.varRho,
268  allMVAVars.varESEffSigmaRR,
269  allMVAVars.varESEnOverRawE
270  )
271  ;
272  } else {
273  vars = packMVAVariables(
274  allMVAVars.varRawE,
275  allMVAVars.varR9,
276  allMVAVars.varSieie,
277  allMVAVars.varSCEtaWidth,
278  allMVAVars.varSCPhiWidth,
279  allMVAVars.varSieip,
280  allMVAVars.varE2x2overE5x5,
281  allMVAVars.varPhoIsoRaw,
282  allMVAVars.varChIsoRaw,
283  allMVAVars.varWorstChRaw,
284  allMVAVars.varSCEta,
285  allMVAVars.varRho
286  )
287  ;
288  }
289  return vars;
290 }
std::vector< float > packMVAVariables(const Args...args) const
void constrainMVAVariables(AllVariables &) const
bool isValid() const
Definition: HandleBase.h:74
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:475
int findCategory(const edm::Ptr< reco::Candidate > &particle) const override
int PhotonMVAEstimatorRunIIFall17::findCategory ( const edm::Ptr< reco::Candidate > &  particle) const
overridevirtual

Implements AnyMVAEstimatorRun2Base.

Definition at line 87 of file PhotonMVAEstimatorRunIIFall17.cc.

References funct::abs(), CAT_EB, CAT_EE, mvaElectronID_Fall17_iso_V1_cff::ebeeSplit, PVValHelper::eta, isEndcapCategory(), edm::Ptr< T >::isNull(), reco::Photon::superCluster(), and UNDEFINED.

Referenced by fillMVAVariables(), getTag(), and mvaValue().

87  {
88 
89  // Try to cast the particle into a reco particle.
90  // This should work for both reco and pat.
91  const edm::Ptr<reco::Photon> phoRecoPtr = ( edm::Ptr<reco::Photon> )particle;
92  if( phoRecoPtr.isNull() )
93  throw cms::Exception("MVA failure: ")
94  << " given particle is expected to be reco::Photon or pat::Photon," << std::endl
95  << " but appears to be neither" << std::endl;
96 
97  float eta = phoRecoPtr->superCluster()->eta();
98 
99  //
100  // Determine the category
101  //
102  int iCategory = UNDEFINED;
103  const float ebeeSplit = 1.479; // division between barrel and endcap
104 
105  if ( std::abs(eta) < ebeeSplit)
106  iCategory = CAT_EB;
107  else
108  iCategory = CAT_EE;
109 
110  return iCategory;
111 }
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
bool isNull() const
Checks for null.
Definition: Ptr.h:164
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual const std::string& PhotonMVAEstimatorRunIIFall17::getName ( void  ) const
inlinefinaloverridevirtual

Implements AnyMVAEstimatorRun2Base.

Definition at line 71 of file PhotonMVAEstimatorRunIIFall17.h.

References name_.

Referenced by plotting.Plot::draw().

71 { return name_; }
virtual int PhotonMVAEstimatorRunIIFall17::getNCategories ( ) const
inlinevirtual
virtual const std::string& PhotonMVAEstimatorRunIIFall17::getTag ( ) const
inlinefinaloverridevirtual
bool PhotonMVAEstimatorRunIIFall17::isEndcapCategory ( int  category) const

Definition at line 114 of file PhotonMVAEstimatorRunIIFall17.cc.

References CAT_EE, createSingleReader(), and GeomDetEnumerators::isEndcap().

Referenced by createSingleReader(), fillMVAVariables(), findCategory(), getNCategories(), and mvaValue().

114  {
115 
116  // For this specific MVA the function is trivial, but kept for possible
117  // future evolution to an MVA with more categories in eta
118  bool isEndcap = false;
119  if( category == CAT_EE )
120  isEndcap = true;
121 
122  return isEndcap;
123 }
bool isEndcap(GeomDetEnumerators::SubDetector m)
float PhotonMVAEstimatorRunIIFall17::mvaValue ( const edm::Ptr< reco::Candidate > &  particle,
const edm::Event iEvent 
) const
virtual

Implements AnyMVAEstimatorRun2Base.

Definition at line 53 of file PhotonMVAEstimatorRunIIFall17.cc.

References debug, fillMVAVariables(), findCategory(), gbrForests_, isEndcapCategory(), and mps_fire::result.

Referenced by ~PhotonMVAEstimatorRunIIFall17().

53  {
54 
55  const int iCategory = findCategory( particle );
56 
57  const std::vector<float> vars = fillMVAVariables( particle, iEvent ) ;
58  const float result = gbrForests_.at(iCategory)->GetClassifier(vars.data());
59 
60  // DEBUG
61  const bool debug = false;
62  // The list of variables here must match EXACTLY the list and order in the
63  // packMVAVariables() call for barrel and endcap in this file.
64  if( debug ){
65  printf("Printout of the photon variable inputs for MVA:\n");
66  printf(" varRawE_ %f\n", vars[0] );
67  printf(" varR9_ %f\n", vars[1] );
68  printf(" varSieie_ %f\n", vars[2] );
69  printf(" varSCEtaWidth_ %f\n", vars[3] );
70  printf(" varSCPhiWidth_ %f\n", vars[4] );
71  printf(" varSieip_ %f\n", vars[5] );
72  printf(" varE2x2overE5x5_ %f\n", vars[6] );
73  printf(" varPhoIsoRaw_ %f\n", vars[7] );
74  printf(" varChIsoRaw_ %f\n", vars[8] );
75  printf(" varWorstChRaw_ %f\n", vars[9] );
76  printf(" varSCEta_ %f\n", vars[10] );
77  printf(" varRho_ %f\n", vars[11] );
78  if( isEndcapCategory( iCategory ) ) {
79  printf(" varESEffSigmaRR_ %f\n", vars[12] ); // for endcap MVA only
80  printf(" varESEnOverRawE_ %f\n", vars[13] ); // for endcap MVA only
81  }
82  }
83 
84  return result;
85 }
std::vector< std::unique_ptr< const GBRForest > > gbrForests_
std::vector< float > fillMVAVariables(const edm::Ptr< reco::Candidate > &particle, const edm::Event &iEvent) const override
#define debug
Definition: HDRShower.cc:19
int findCategory(const edm::Ptr< reco::Candidate > &particle) const override
void PhotonMVAEstimatorRunIIFall17::setConsumes ( edm::ConsumesCollector &&  cc) const
overridevirtual

Member Data Documentation

AllVariables PhotonMVAEstimatorRunIIFall17::allMVAVars_
private

Definition at line 107 of file PhotonMVAEstimatorRunIIFall17.h.

Referenced by createSingleReader().

EffectiveAreas PhotonMVAEstimatorRunIIFall17::effectiveAreas_
private

Definition at line 122 of file PhotonMVAEstimatorRunIIFall17.h.

std::vector< std::unique_ptr<const GBRForest> > PhotonMVAEstimatorRunIIFall17::gbrForests_
private

Definition at line 103 of file PhotonMVAEstimatorRunIIFall17.h.

Referenced by mvaValue(), and PhotonMVAEstimatorRunIIFall17().

const std::string PhotonMVAEstimatorRunIIFall17::methodName_
private

Definition at line 106 of file PhotonMVAEstimatorRunIIFall17.h.

Referenced by createSingleReader().

const std::string PhotonMVAEstimatorRunIIFall17::name_ = "PhotonMVAEstimatorRunIIFall17"
private

Definition at line 95 of file PhotonMVAEstimatorRunIIFall17.h.

Referenced by getName().

const uint PhotonMVAEstimatorRunIIFall17::nCategories = 2
const edm::InputTag PhotonMVAEstimatorRunIIFall17::phoChargedIsolationLabel_
private

Definition at line 116 of file PhotonMVAEstimatorRunIIFall17.h.

Referenced by fillMVAVariables(), and setConsumes().

std::vector<double> PhotonMVAEstimatorRunIIFall17::phoIsoPtScalingCoeff_
private

Definition at line 123 of file PhotonMVAEstimatorRunIIFall17.h.

const edm::InputTag PhotonMVAEstimatorRunIIFall17::phoPhotonIsolationLabel_
private

Definition at line 117 of file PhotonMVAEstimatorRunIIFall17.h.

Referenced by fillMVAVariables(), and setConsumes().

const edm::InputTag PhotonMVAEstimatorRunIIFall17::phoWorstChargedIsolationLabel_
private

Definition at line 118 of file PhotonMVAEstimatorRunIIFall17.h.

Referenced by fillMVAVariables(), and setConsumes().

const edm::InputTag PhotonMVAEstimatorRunIIFall17::rhoLabel_
private

Definition at line 119 of file PhotonMVAEstimatorRunIIFall17.h.

Referenced by fillMVAVariables(), and setConsumes().

std::string PhotonMVAEstimatorRunIIFall17::tag_
private

Definition at line 100 of file PhotonMVAEstimatorRunIIFall17.h.

Referenced by getTag(), and PhotonMVAEstimatorRunIIFall17().