CMS 3D CMS Logo

BPHHistoSpecificDecay.h
Go to the documentation of this file.
1 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHHistoSpecificDecay_h
2 #define HeavyFlavorAnalysis_SpecificDecay_BPHHistoSpecificDecay_h
3 
7 
12 
15 
16 #include <string>
17 
18 class TH1F;
19 class TTree;
20 class TBranch;
21 class TVector3;
22 
23 namespace reco {
24  class Candidate;
25  class Vertex;
26 } // namespace reco
27 
28 class BPHHistoSpecificDecay : public BPHAnalyzerWrapper<BPHModuleWrapper::one_analyzer> {
29 public:
30  explicit BPHHistoSpecificDecay(const edm::ParameterSet& ps);
31  ~BPHHistoSpecificDecay() override;
32 
33  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
34 
35  void beginJob() override;
36  void analyze(const edm::Event& ev, const edm::EventSetup& es) override;
37  void endJob() override;
38 
40  public:
41  virtual ~CandidateSelect() = default;
42  virtual bool accept(const pat::CompositeCandidate& cand, const reco::Vertex* pv = nullptr) const = 0;
43  };
44 
45 private:
72  bool useTrig;
73  bool useOnia;
74  bool useSd;
75  bool useSs;
76  bool useBu;
77  bool useBd;
78  bool useBs;
79  bool useK0;
80  bool useL0;
81  bool useB0;
82  bool useLb;
83  bool useBc;
84  bool useX3872;
85 
87  std::map<std::string, TH1F*> histoMap;
88  TTree* tree;
89  unsigned int runNumber;
90  unsigned int lumiSection;
91  unsigned int eventNumber;
93  float recoMass;
94  float recoTime;
95  float recoErrT;
96  TBranch* b_runNumber;
97  TBranch* b_lumiSection;
98  TBranch* b_eventNumber;
99  TBranch* b_recoName;
100  TBranch* b_recoMass;
101  TBranch* b_recoTime;
102  TBranch* b_recoErrT;
103 
114 
117 
126 
137 
148 
159 
170 
181 
192 
193  double buIKPtMin;
194  double buDKPtMin;
195  double bcIPiPtMin;
196  double bcDPiPtMin;
199  double bcJPsiDcaMax;
201 
202  void fillHisto(const std::string& name, const pat::CompositeCandidate& cand, char svType);
203  void fillHisto(const std::string& name, float x);
204  void createHisto(const std::string& name, int nbin, float hmin, float hmax);
205 };
206 
207 #endif
CandidateSelect * bsIJPsiBasicSelect
CandidateSelect * buDVertexSelect
Analysis-level particle class.
CandidateSelect * bsDPhiBasicSelect
CandidateSelect * lbDJPsiDaughterSelect
CandidateSelect * jPsiBBasicSelect
CandidateSelect * bcDVertexSelect
CandidateSelect * x3872IJPsiBasicSelect
CandidateSelect * bcDJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > sdCandsToken
CandidateSelect * bsIBasicSelect
CandidateSelect * bdDKx0BasicSelect
CandidateSelect * phiIBasicSelect
std::map< std::string, TH1F * > histoMap
BPHHistoSpecificDecay(const edm::ParameterSet &ps)
CandidateSelect * lbIJPsiBasicSelect
CandidateSelect * b0DVertexSelect
CandidateSelect * bcIBasicSelect
CandidateSelect * buIJPsiBasicSelect
CandidateSelect * jPsiIBasicSelect
CandidateSelect * bdIKx0BasicSelect
CandidateSelect * bcDBasicSelect
CandidateSelect * buDJPsiDaughterSelect
CandidateSelect * bdDVertexSelect
CandidateSelect * x3872IVertexSelect
CandidateSelect * lbDJPsiBasicSelect
CandidateSelect * bsDJPsiDaughterSelect
CandidateSelect * psi2BBasicSelect
CandidateSelect * buIBasicSelect
CandidateSelect * bdIJPsiBasicSelect
CandidateSelect * npJPsiDaughterSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bcCandsToken
CandidateSelect * bcDJPsiVertexSelect
CandidateSelect * buDBasicSelect
CandidateSelect * lbDVertexSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bdCandsToken
CandidateSelect * b0IBasicSelect
CandidateSelect * bsIJPsiDaughterSelect
CandidateSelect * b0DBasicSelect
CandidateSelect * bsDVertexSelect
CandidateSelect * x3872IJPsiDaughterSelect
CandidateSelect * bsDJPsiBasicSelect
void analyze(const edm::Event &ev, const edm::EventSetup &es) override
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bsCandsToken
CandidateSelect * bdDJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > lbCandsToken
CandidateSelect * x3872DJPsiVertexSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > x3872CandsToken
CandidateSelect * lbDBasicSelect
void createHisto(const std::string &name, int nbin, float hmin, float hmax)
CandidateSelect * bsIVertexSelect
virtual bool accept(const pat::CompositeCandidate &cand, const reco::Vertex *pv=nullptr) const =0
CandidateSelect * x3872IBasicSelect
CandidateSelect * oniaDaughterSelect
CandidateSelect * lbIJPsiDaughterSelect
CandidateSelect * npJPsiBasicSelect
void fillHisto(const std::string &name, const pat::CompositeCandidate &cand, char svType)
CandidateSelect * b0IVertexSelect
CandidateSelect * bdIBasicSelect
CandidateSelect * bdDJPsiDaughterSelect
BPHTokenWrapper< edm::TriggerResults > trigResultsToken
CandidateSelect * lbIBasicSelect
CandidateSelect * x3872DBasicSelect
CandidateSelect * x3872IJPsiVertexSelect
CandidateSelect * bsDBasicSelect
CandidateSelect * buDJPsiBasicSelect
CandidateSelect * lbILambda0BasicSelect
CandidateSelect * bcDJPsiDaughterSelect
CandidateSelect * buIJPsiDaughterSelect
CandidateSelect * b0DJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > l0CandsToken
CandidateSelect * bdIVertexSelect
CandidateSelect * psi2IBasicSelect
CandidateSelect * upsBBasicSelect
fixed size matrix
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > k0CandsToken
CandidateSelect * oniaVertexSelect
CandidateSelect * bdDBasicSelect
CandidateSelect * b0IK0sBasicSelect
CandidateSelect * b0IJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > b0CandsToken
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > ssCandsToken
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > buCandsToken
CandidateSelect * bcIVertexSelect
CandidateSelect * bcIJPsiDaughterSelect
CandidateSelect * lbIVertexSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > oniaCandsToken
CandidateSelect * lbDLambda0BasicSelect
CandidateSelect * bdIJPsiDaughterSelect
CandidateSelect * b0DJPsiDaughterSelect
CandidateSelect * bcIJPsiBasicSelect
CandidateSelect * b0IJPsiDaughterSelect
CandidateSelect * x3872DJPsiDaughterSelect
CandidateSelect * phiBBasicSelect
CandidateSelect * bcIJPsiVertexSelect
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
CandidateSelect * x3872DVertexSelect
CandidateSelect * bsIPhiBasicSelect
edm::Service< TFileService > fs
CandidateSelect * upsIBasicSelect
CandidateSelect * b0DK0sBasicSelect
CandidateSelect * x3872DJPsiBasicSelect
CandidateSelect * buIVertexSelect