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 #include "fastjet/contrib/Njettiness.hh"
19 
21 
22  public:
24 
25  void initialize(const JetTagComputerRecord &) override;
26  float discriminator(const TagInfoHelper & tagInfos) const override;
27 
28  private:
29  void calcNsubjettiness(const reco::JetBaseRef & jet, float & tau1, float & tau2, std::vector<fastjet::PseudoJet> & currentAxes) const;
30  void setTracksPVBase(const reco::TrackRef & trackRef, const reco::VertexRef & vertexRef, float & PVweight) const;
31  void setTracksPV(const reco::CandidatePtr & trackRef, const reco::VertexRef & vertexRef, float & PVweight) const;
33  void etaRelToTauAxis(const reco::VertexCompositePtrCandidate & vertex, fastjet::PseudoJet & tauAxis, std::vector<float> & tau_trackEtaRel) const;
34 
35  const double beta_;
36  const double R0_;
37  // N-subjettiness calculator
39 
40  const double maxSVDeltaRToJet_;
41  const bool useCondDB_;
44  const bool useGBRForest_;
45  const bool useAdaBoost_;
46  const double maxDistToAxis_;
47  const double maxDecayLen_;
50 
52  std::unique_ptr<TMVAEvaluator> mvaID;
53 
54  // static variables
55  static constexpr float dummyZ_ratio = -3.0f;
56  static constexpr float dummyTrackSip3dSig = -50.0f;
57  static constexpr float dummyTrackSip2dSigAbove = -19.0f;
58  static constexpr float dummyTrackEtaRel = -1.0f;
59  static constexpr float dummyVertexMass = -1.0f;
60  static constexpr float dummyVertexEnergyRatio = -1.0f;
61  static constexpr float dummyVertexDeltaR = -1.0f;
62  static constexpr float dummyFlightDistance2dSig = -1.0f;
63 
64  static constexpr float charmThreshold = 1.5f;
65  static constexpr float bottomThreshold = 5.2f;
66 };
67 
68 #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