CMS 3D CMS Logo

AnalysisRootpleProducer.h
Go to the documentation of this file.
1 #ifndef AnalysisRootpleProducer_H
2 #define AnalysisRootpleProducer_H
3 
4 #include <iostream>
5 
12 
15 
18 
19 #include <TROOT.h>
20 #include <TTree.h>
21 #include <TFile.h>
22 #include <TLorentzVector.h>
23 #include <TObjString.h>
24 #include <TClonesArray.h>
25 
34 
35 // access trigger results
39 
41 public:
42  //
44  ~AnalysisRootpleProducer() override {} // no need to delete ROOT stuff
45  // as it'll be deleted upon closing TFile
46 
47  void analyze(const edm::Event&, const edm::EventSetup&) override;
48  void beginJob() override;
49  void endJob() override;
50 
51  void fillEventInfo(int);
52  void fillMCParticles(float, float, float, float);
53  void fillTracks(float, float, float, float);
54  void fillInclusiveJet(float, float, float, float);
55  void fillChargedJet(float, float, float, float);
56  void fillTracksJet(float, float, float, float);
57  void fillCaloJet(float, float, float, float);
58  void store();
59 
60 private:
61  bool onlyRECO;
62 
64  edm::EDGetTokenT<reco::GenJetCollection> genJetCollToken; // label of Jet made with MC particles
65  edm::EDGetTokenT<reco::GenJetCollection> chgJetCollToken; // label of Jet made with only charged MC particles
71 
80  // edm::Handle<TriggerFilterObjectWithRefs> hltFilter; // not used at the moment: can access objects that fired the trigger
81 
83 
84  float piG;
85 
86  TTree* AnalysisTree;
87 
88  static const int NMCPMAX = 10000;
89  static const int NTKMAX = 10000;
90  static const int NIJMAX = 10000;
91  static const int NCJMAX = 10000;
92  static const int NTJMAX = 10000;
93  static const int NEHJMAX = 10000;
94 
96 
103 
104  TClonesArray* MonteCarlo;
105  TClonesArray* InclusiveJet;
106  TClonesArray* ChargedJet;
107  TClonesArray* Track;
108  TClonesArray* TracksJet;
109  TClonesArray* CalorimeterJet;
110  TClonesArray* acceptedTriggers;
111 };
112 
113 #endif
edm::Handle< std::vector< reco::GenParticle > > CandHandleMC
void fillTracks(float, float, float, float)
edm::EDGetTokenT< reco::CandidateCollection > tracksCollToken
void fillTracksJet(float, float, float, float)
void fillChargedJet(float, float, float, float)
void fillInclusiveJet(float, float, float, float)
edm::EDGetTokenT< reco::GenJetCollection > chgJetCollToken
edm::Handle< reco::GenJetCollection > ChgGenJetsHandle
edm::EDGetTokenT< reco::GenJetCollection > genJetCollToken
edm::Handle< reco::CandidateCollection > CandHandleRECO
edm::Handle< edm::TriggerResults > triggerResults
edm::Service< TFileService > fs
edm::Handle< reco::BasicJetCollection > TracksJetsHandle
edm::Handle< reco::GenJetCollection > GenJetsHandle
edm::EDGetTokenT< reco::BasicJetCollection > tracksJetCollToken
edm::EDGetTokenT< edm::HepMCProduct > mcEventToken
void analyze(const edm::Event &, const edm::EventSetup &) override
void fillCaloJet(float, float, float, float)
edm::Handle< reco::CaloJetCollection > RecoCaloJetsHandle
edm::EDGetTokenT< std::vector< reco::GenParticle > > chgGenPartCollToken
edm::EDGetTokenT< reco::CaloJetCollection > recoCaloJetCollToken
AnalysisRootpleProducer(const edm::ParameterSet &)
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken
edm::Handle< edm::HepMCProduct > EvtHandle
void fillMCParticles(float, float, float, float)