CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CandidateBoostedDoubleSecondaryVertexComputer.h
Go to the documentation of this file.
1 #ifndef RecoBTag_SecondaryVertex_CandidateBoostedDoubleSecondaryVertexComputer_h
2 #define RecoBTag_SecondaryVertex_CandidateBoostedDoubleSecondaryVertexComputer_h
3 
16 
17 #include "fastjet/PseudoJet.hh"
18 
20 
21  public:
23 
24  void initialize(const JetTagComputerRecord &) override;
25  float discriminator(const TagInfoHelper & tagInfos) const override;
26 
27  private:
28  void calcNsubjettiness(const reco::JetBaseRef & jet, float & tau1, float & tau2, std::vector<fastjet::PseudoJet> & currentAxes) const;
29  void setTracksPVBase(const reco::TrackRef & trackRef, const reco::VertexRef & vertexRef, float & PVweight) const;
30  void setTracksPV(const reco::CandidatePtr & trackRef, const reco::VertexRef & vertexRef, float & PVweight) const;
32  void etaRelToTauAxis(const reco::VertexCompositePtrCandidate & vertex, fastjet::PseudoJet & tauAxis, std::vector<float> & tau_trackEtaRel) const;
33 
34  const double beta_;
35  const double R0_;
36 
37  const double maxSVDeltaRToJet_;
38  const bool useCondDB_;
41  const bool useGBRForest_;
42  const bool useAdaBoost_;
43  const double maxDistToAxis_;
44  const double maxDecayLen_;
47 
49  std::unique_ptr<TMVAEvaluator> mvaID;
50 
51  // static variables
52  static constexpr float dummyZ_ratio = -3.0f;
53  static constexpr float dummyTrackSip3dSig = -50.0f;
54  static constexpr float dummyTrackSip2dSigAbove = -19.0f;
55  static constexpr float dummyTrackEtaRel = -1.0f;
56  static constexpr float dummyVertexMass = -1.0f;
57  static constexpr float dummyVertexEnergyRatio = -1.0f;
58  static constexpr float dummyVertexDeltaR = -1.0f;
59  static constexpr float dummyFlightDistance2dSig = -1.0f;
60 
61  static constexpr float charmThreshold = 1.5f;
62  static constexpr float bottomThreshold = 5.2f;
63 };
64 
65 #endif // RecoBTag_SecondaryVertex_CandidateBoostedDoubleSecondaryVertexComputer_h
dictionary parameters
Definition: Parameters.py:2
void setTracksPV(const reco::CandidatePtr &trackRef, const reco::VertexRef &vertexRef, float &PVweight) const
void etaRelToTauAxis(const reco::VertexCompositePtrCandidate &vertex, fastjet::PseudoJet &tauAxis, std::vector< float > &tau_trackEtaRel) const
#define constexpr
void setTracksPVBase(const reco::TrackRef &trackRef, const reco::VertexRef &vertexRef, float &PVweight) const
void vertexKinematics(const reco::VertexCompositePtrCandidate &vertex, reco::TrackKinematics &vertexKinematics) const
void calcNsubjettiness(const reco::JetBaseRef &jet, float &tau1, float &tau2, std::vector< fastjet::PseudoJet > &currentAxes) const
float discriminator(const TagInfoHelper &tagInfos) const override