CMS 3D CMS Logo

BPHDecayToJPsiPiPiBuilder.h
Go to the documentation of this file.
1 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayToJPsiPiPiBuilder_h
2 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayToJPsiPiPiBuilder_h
3 
12 //----------------------
13 // Base Class Headers --
14 //----------------------
16 
17 //------------------------------------
18 // Collaborating Class Declarations --
19 //------------------------------------
26 
28 
30 
31 //---------------
32 // C++ Headers --
33 //---------------
34 #include <string>
35 #include <vector>
36 
37 // ---------------------
38 // -- Class Interface --
39 // ---------------------
40 
41 class BPHDecayToJPsiPiPiBuilder : public BPHDecayToResTrkTrkSameMassBuilder<BPHRecoCandidate, BPHPlusMinusCandidate> {
42 public:
46  const std::vector<BPHPlusMinusConstCandPtr>& jpsiCollection,
47  const BPHRecoBuilder::BPHGenericCollection* posCollection,
48  const BPHRecoBuilder::BPHGenericCollection* negCollection)
49  : BPHDecayGenericBuilderBase(es, nullptr),
52  "PionPos",
53  "PionNeg",
54  BPHParticleMasses::pionMass,
55  BPHParticleMasses::pionMSigma,
56  posCollection,
57  negCollection) {
58  setResMassRange(2.80, 3.40);
59  setTrkPtMin(1.0);
60  setTrkEtaMax(10.0);
61  setMassRange(3.00, 4.50);
62  setProbMin(0.02);
63  setMassFitRange(3.50, 4.20);
64  }
65 
66  // deleted copy constructor and assignment operator
69 
72  ~BPHDecayToJPsiPiPiBuilder() override = default;
73 
77  void setPiPtMin(double pt) { setTrkPtMin(pt); }
79  void setPiEtaMax(double eta) { setTrkEtaMax(eta); }
80  void setJPsiMassMin(double m) { setResMassMin(m); }
81  void setJPsiMassMax(double m) { setResMassMax(m); }
82 
84  double getPiPtMin() const { return getTrkPtMin(); }
85  double getPiEtaMax() const { return getTrkEtaMax(); }
86  double getJPsiMassMin() const { return getResMassMin(); }
87  double getJPsiMassMax() const { return getResMassMax(); }
88 
89 protected:
90  BPHDecayToJPsiPiPiBuilder(const std::vector<BPHPlusMinusConstCandPtr>& jpsiCollection,
91  const BPHRecoBuilder::BPHGenericCollection* posCollection,
92  const BPHRecoBuilder::BPHGenericCollection* negCollection)
93  : BPHDecayToResTrkTrkSameMassBuilder(jpsiCollection,
94  "PionPos",
95  "PionNeg",
96  BPHParticleMasses::pionMass,
97  BPHParticleMasses::pionMSigma,
98  posCollection,
99  negCollection) {
100  rName = "JPsi";
103  resoSel = new BPHMassSelect(-2.0e+06, -1.0e+06);
104  massConstr = true;
105  mFitSel = new BPHMassFitSelect(rName, rMass, rWidth, -2.0e+06, -1.0e+06);
106  }
107 };
108 
109 #endif
static const double jPsiMWidth
void setMassFitRange(double mMin, double mMax)
static const double jPsiMass
~BPHDecayToJPsiPiPiBuilder() override=default
BPHDecayToJPsiPiPiBuilder & operator=(const BPHDecayToJPsiPiPiBuilder &x)=delete
double getResMassMin() const
get current cuts
BPHDecayToJPsiPiPiBuilder(const BPHEventSetupWrapper &es, const std::vector< BPHPlusMinusConstCandPtr > &jpsiCollection, const BPHRecoBuilder::BPHGenericCollection *posCollection, const BPHRecoBuilder::BPHGenericCollection *negCollection)
double getPiPtMin() const
get current cuts
void setResMassRange(double mMin, double mMax)
BPHDecayToJPsiPiPiBuilder(const std::vector< BPHPlusMinusConstCandPtr > &jpsiCollection, const BPHRecoBuilder::BPHGenericCollection *posCollection, const BPHRecoBuilder::BPHGenericCollection *negCollection)
common object to interface with edm collections
void setPiPtMin(double pt)
set cuts
void setMassRange(double mMin, double mMax)