Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:24:32

0001 #ifndef RecoBTag_SecondaryVertex_CandidateBoostedDoubleSecondaryVertexComputer_h
0002 #define RecoBTag_SecondaryVertex_CandidateBoostedDoubleSecondaryVertexComputer_h
0003 
0004 #include "FWCore/Framework/interface/ESConsumesCollector.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include "CommonTools/MVAUtils/interface/TMVAEvaluator.h"
0007 #include "RecoBTau/JetTagComputer/interface/JetTagComputer.h"
0008 #include "CondFormats/DataRecord/interface/GBRWrapperRcd.h"
0009 
0010 class CandidateBoostedDoubleSecondaryVertexComputer : public JetTagComputer {
0011 public:
0012   struct Tokens {
0013     Tokens(const edm::ParameterSet &parameters, edm::ESConsumesCollector &&cc);
0014     edm::ESGetToken<GBRForest, GBRWrapperRcd> gbrForest_;
0015   };
0016 
0017   CandidateBoostedDoubleSecondaryVertexComputer(const edm::ParameterSet &parameters, Tokens tokens);
0018 
0019   void initialize(const JetTagComputerRecord &) override;
0020   float discriminator(const TagInfoHelper &tagInfos) const override;
0021 
0022 private:
0023   const edm::FileInPath weightFile_;
0024   const bool useGBRForest_;
0025   const bool useAdaBoost_;
0026   const Tokens tokens_;
0027 
0028   std::unique_ptr<TMVAEvaluator> mvaID;
0029 };
0030 
0031 #endif  // RecoBTag_SecondaryVertex_CandidateBoostedDoubleSecondaryVertexComputer_h