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 
6 
11 
14 
15 #include <string>
16 
17 class TH1F;
18 class TVector3;
19 
20 namespace reco {
21  class Candidate;
22  class Vertex;
23 } // namespace reco
24 
25 class BPHHistoSpecificDecay : public BPHAnalyzerWrapper<BPHModuleWrapper::one_analyzer> {
26 public:
27  explicit BPHHistoSpecificDecay(const edm::ParameterSet& ps);
28  ~BPHHistoSpecificDecay() override;
29 
30  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
31 
32  void beginJob() override;
33  void analyze(const edm::Event& ev, const edm::EventSetup& es) override;
34  void endJob() override;
35 
37  public:
38  virtual ~CandidateSelect() {}
39  virtual bool accept(const pat::CompositeCandidate& cand, const reco::Vertex* pv = nullptr) const = 0;
40  };
41 
42 private:
55  bool useOnia;
56  bool useSd;
57  bool useSs;
58  bool useBu;
59  bool useBd;
60  bool useBs;
61 
63  std::map<std::string, TH1F*> histoMap;
64 
71 
75 
80 
85 
86  double buKPtMin;
87 
88  void fillHisto(const std::string& name, const pat::CompositeCandidate& cand);
89  void fillHisto(const std::string& name, float x);
90  void createHisto(const std::string& name, int nbin, float hmin, float hmax);
91 };
92 
93 #endif
Analysis-level particle class.
CandidateSelect * bsJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > sdCandsToken
std::map< std::string, TH1F * > histoMap
CandidateSelect * upsBasicSelect
CandidateSelect * jPsiBasicSelect
CandidateSelect * phiBasicSelect
bool ev
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bdCandsToken
CandidateSelect * buVertexSelect
CandidateSelect * bdJPsiBasicSelect
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
CandidateSelect * bsVertexSelect
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
CandidateSelect * bsJPsiDaughterSelect
void beginJob()
Definition: Breakpoints.cc:14
CandidateSelect * buJPsiDaughterSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bsCandsToken
CandidateSelect * bdJPsiDaughterSelect
CandidateSelect * bdKx0BasicSelect
CandidateSelect * psi2BasicSelect
def pv(vc)
Definition: MetAnalyzer.py:7
CandidateSelect * oniaDaughterSelect
CandidateSelect * bdVertexSelect
CandidateSelect * bsPhiBasicSelect
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
fixed size matrix
CandidateSelect * oniaVertexSelect
CandidateSelect * buJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > ssCandsToken
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > buCandsToken
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > oniaCandsToken
edm::Service< TFileService > fs