1 #ifndef RecoEgamma_ElectronIdentification_ElectronMVAEstimatorRun2_H 2 #define RecoEgamma_ElectronIdentification_ElectronMVAEstimatorRun2_H 28 const std::vector<std::string>& categoryCutStrings,
41 float convVtxFitProb = -1.;
42 if(!(conv ==
nullptr)) {
45 convVtxFitProb = TMath::Prob( vtx.
chi2(), vtx.
ndof());
54 float kfchi2 = validKf ? trackRef->normalizedChi2() : 0 ;
55 float kfhits = validKf ? trackRef->hitPattern().trackerLayersWithMeasurement() : -1. ;
57 return std::vector<float>{kfhits, kfchi2, convVtxFitProb,
static_cast<float>(
rho)};
61 float mvaValue(
const reco::Candidate* candidate, std::vector<float>
const& auxVariables,
int &iCategory)
const override;
67 void init(
const std::vector<std::string> &weightFileNames);
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
static std::vector< float > getExtraVars(reco::GsfElectron const &ele, reco::ConversionCollection const *conversions, reco::BeamSpot const *beamSpot, double rho)
virtual TrackRef closestCtfTrackRef() const
bool isNonnull() const
Checks for non-null.
static HepMC::IO_HEPEVT conv
bool isValid() const
Tells whether the vertex is valid.
MVAVariableManager< reco::GsfElectron > mvaVarMngr_
std::vector< int > nVariables_
std::vector< ThreadSafeStringCut< StringCutObjectSelector< reco::GsfElectron >, reco::GsfElectron > > categoryFunctions_
std::vector< Conversion > ConversionCollection
collectin of Conversion objects
~ElectronMVAEstimatorRun2() override
float mvaValue(const reco::Candidate *candidate, std::vector< float > const &auxVariables, int &iCategory) const override
ElectronMVAEstimatorRun2(const edm::ParameterSet &conf)
double chi2() const
chi-squares
void init(const std::vector< std::string > &weightFileNames)
std::vector< std::vector< int > > variables_
std::vector< std::unique_ptr< const GBRForest > > gbrForests_
int findCategory(const reco::Candidate *candidate) const override
const Point & position() const
position