ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/NtupleWriter/interface/NtupleWriter.h
Revision: 1.5
Committed: Thu Apr 5 09:48:20 2012 UTC (13 years, 1 month ago) by peiffer
Content type: text/plain
Branch: MAIN
Changes since 1.4: +6 -0 lines
Log Message:
new vars

File Contents

# User Rev Content
1 peiffer 1.1 #ifndef NtupleWriter_h
2     #define NtupleWriter_h
3    
4     // system include files
5     #include <memory>
6    
7     // user include files
8    
9     #include "FWCore/Framework/interface/ESHandle.h"
10     #include "FWCore/Utilities/interface/InputTag.h"
11     #include "DataFormats/Common/interface/Handle.h"
12    
13     #include "FWCore/Framework/interface/Frameworkfwd.h"
14     #include "FWCore/Framework/interface/EDAnalyzer.h"
15    
16     #include "FWCore/Framework/interface/Event.h"
17     #include "FWCore/Framework/interface/MakerMacros.h"
18    
19     #include "FWCore/ParameterSet/interface/ParameterSet.h"
20     #include "FWCore/ServiceRegistry/interface/Service.h"
21     #include "CommonTools/UtilAlgos/interface/TFileService.h"
22     #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
23     #include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h"
24     #include "TTree.h"
25     #include "TMath.h"
26     #include "TLorentzVector.h"
27    
28     #include "DataFormats/PatCandidates/interface/Electron.h"
29     #include "DataFormats/PatCandidates/interface/Muon.h"
30     #include "DataFormats/PatCandidates/interface/Tau.h"
31     #include "DataFormats/PatCandidates/interface/Jet.h"
32     #include "DataFormats/PatCandidates/interface/Photon.h"
33     #include "DataFormats/PatCandidates/interface/MET.h"
34     #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h"
35     #include "SimDataFormats/GeneratorProducts/interface/PdfInfo.h"
36     #include "SimDataFormats/PileupSummaryInfo/interface/PileupSummaryInfo.h"
37     #include "DataFormats/Common/interface/TriggerResults.h"
38     #include "FWCore/Framework/interface/TriggerNamesService.h"
39     #include "DataFormats/HLTReco/interface/TriggerEvent.h"
40     #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
41 peiffer 1.5 #include "JetMETCorrections/Objects/interface/JetCorrectionsRecord.h"
42     #include "CondFormats/JetMETObjects/interface/JetCorrectionUncertainty.h"
43     #include "CondFormats/JetMETObjects/interface/JetCorrectorParameters.h"
44 peiffer 1.1
45 peiffer 1.2 #include "UHHAnalysis/NtupleWriter/interface/Objects.h"
46 peiffer 1.5
47 peiffer 1.1 //
48     // class declaration
49     //
50    
51    
52    
53     //allow Nmax different electron, muon, jet collections
54     const int Nmax=12;
55    
56     class NtupleWriter : public edm::EDAnalyzer {
57     public:
58     explicit NtupleWriter(const edm::ParameterSet&);
59     ~NtupleWriter();
60    
61     static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
62    
63    
64     private:
65     virtual void beginJob() ;
66     virtual void analyze(const edm::Event&, const edm::EventSetup&);
67     virtual void endJob() ;
68    
69     virtual void beginRun(edm::Run const&, edm::EventSetup const&);
70     virtual void endRun(edm::Run const&, edm::EventSetup const&);
71     virtual void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&);
72     virtual void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&);
73    
74     // ----------member data ---------------------------
75     TFile *outfile;
76     TTree *tr;
77     TString fileName;
78    
79     bool doElectrons;
80     bool doMuons;
81     bool doTaus;
82     bool doJets;
83     bool doTopJets;
84     bool doMET;
85     bool doPhotons;
86     bool doGenInfo;
87     bool doPV;
88    
89     int run;
90     int luminosityBlock;
91     int event;
92     bool isRealData;
93     bool HBHENoiseFilterResult;
94    
95     std::vector<std::string> electron_sources;
96     std::vector<Electron> eles[Nmax];
97    
98     std::vector<std::string> muon_sources;
99     std::vector<Muon> mus[Nmax];
100    
101     std::vector<std::string> tau_sources;
102     std::vector<Tau> taus[Nmax];
103     double tau_ptmin;
104     double tau_etamax;
105    
106     std::vector<std::string> jet_sources;
107     std::vector<Jet> jets[Nmax];
108     double jet_ptmin;
109     double jet_etamax;
110    
111     std::vector<std::string> topjet_sources;
112     std::vector<TopJet> topjets[Nmax];
113     double topjet_ptmin;
114     double topjet_etamax;
115    
116     std::vector<std::string> photon_sources;
117     std::vector<Photon> phs[Nmax];
118    
119     std::vector<std::string> met_sources;
120     MET met[Nmax];
121    
122     std::vector<std::string> pv_sources;
123     std::vector<PrimaryVertex> pvs[Nmax];
124    
125     float beamspot_x0;
126     float beamspot_y0;
127     float beamspot_z0;
128    
129     GenInfo genInfo;
130     std::vector<GenParticle> genps;
131    
132     std::vector<std::string> trigger_prefixes;
133     //std::map<std::string, bool> triggerResults;
134     std::vector<std::string> triggerNames;
135     std::vector<bool> triggerResults;
136     std::vector<int> L1_prescale;
137     std::vector<int> HLT_prescale;
138    
139     HLTConfigProvider hlt_cfg;
140     bool newrun;
141 peiffer 1.5
142     JetCorrectionUncertainty *jecUnc;
143 peiffer 1.1 };
144    
145    
146     #endif