CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IsoTrackCalib.h
Go to the documentation of this file.
1 #ifndef CalibrationIsolatedParticlesIsoTrackCalib_h
2 #define CalibrationIsolatedParticlesIsoTrackCalib_h
3 
4 // system include files
5 #include <memory>
6 
7 // Root objects
8 #include "TROOT.h"
9 #include "TSystem.h"
10 #include "TFile.h"
11 #include "TProfile.h"
12 #include "TDirectory.h"
13 #include "TTree.h"
14 #include "TLorentzVector.h"
15 #include "TInterpreter.h"
16 
17 //Tracks
22 // Vertices
26 
27 //Triggers
34 
37 
45 
51 
66 //#include "DataFormats/PatCandidates/interface/Jet.h"
67 
69 
70 public:
71  explicit IsoTrackCalib(const edm::ParameterSet&);
73 
74  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
75  double dR(double eta1, double eta2, double phi1, double phi2);
76 
77 private:
78  virtual void beginJob() ;
79  virtual void analyze(const edm::Event&, const edm::EventSetup&);
80  virtual void endJob() ;
81  virtual void beginRun(edm::Run const&, edm::EventSetup const&);
82  virtual void endRun(edm::Run const&, edm::EventSetup const&);
83  virtual void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&);
84  virtual void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&);
85 
86 
87 
94  void clearTreeVectors();
95 
96  bool changed;
99  std::vector<std::string> trigNames, HLTNames;
106  std::vector<double> drCuts;
107 
112 
121 
123  std::map<std::pair<unsigned int, std::string>, unsigned int> TrigList;
124  std::map<std::pair<unsigned int, std::string>, const std::pair<int, int> > TrigPreList;
126  std::vector<TH1I*> h_HLTAccepts;
128 
129  TTree *tree;
130  int Run, Event;
131  std::vector<double> *t_trackP, *t_trackPx, *t_trackPy, *t_trackPz;
132  std::vector<double> *t_trackEta, *t_trackPhi, *t_trackPt, *t_neu_iso;
133  std::vector<double> *t_charge_iso, *t_emip, *t_ehcal, *t_trkL3mindr;
134  std::vector<int> *t_ieta;
135  std::vector<double> *t_disthotcell, *t_ietahotcell, *t_eventweight;
136  std::vector<double> *t_l1pt, *t_l1eta, *t_l1phi;
137  std::vector<double> *t_l3pt, *t_l3eta, *t_l3phi;
138  std::vector<double> *t_leadingpt, *t_leadingeta, *t_leadingphi;
139 };
140 #endif
std::vector< double > * t_trackP
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
std::vector< double > * t_trackEta
std::vector< double > * t_l3pt
virtual void endRun(edm::Run const &, edm::EventSetup const &)
edm::InputTag triggerEvent_
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
std::vector< double > * t_eventweight
std::vector< double > * t_trackPhi
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
std::vector< double > * t_leadingeta
std::vector< double > * t_disthotcell
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
edm::EDGetTokenT< edm::TriggerResults > tok_trigRes
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
std::vector< double > * t_leadingphi
std::vector< TH1I * > h_HLTAccepts
std::vector< int > * t_ieta
std::string theTrackQuality
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
std::vector< double > * t_l1pt
edm::EDGetTokenT< trigger::TriggerEvent > tok_trigEvt
std::vector< double > * t_trackPt
std::vector< double > * t_trackPy
double dR(double eta1, double eta2, double phi1, double phi2)
std::vector< double > drCuts
std::vector< std::string > HLTNames
Definition: IsoTrackCalib.h:99
std::vector< double > * t_ehcal
double dinvPt(math::XYZTLorentzVector &, math::XYZTLorentzVector &)
std::vector< double > * t_trackPx
std::vector< double > * t_ietahotcell
edm::Service< TFileService > fs
Definition: IsoTrackCalib.h:97
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
HLTPrescaleProvider hltPrescaleProvider_
Definition: IsoTrackCalib.h:98
edm::EDGetTokenT< reco::PFJetCollection > tok_pf_
edm::EDGetTokenT< LumiDetails > tok_lumi
std::vector< double > * t_l1phi
std::vector< double > * t_emip
double dP(math::XYZTLorentzVector &, math::XYZTLorentzVector &)
std::vector< double > * t_charge_iso
double dEta(math::XYZTLorentzVector &, math::XYZTLorentzVector &)
std::vector< double > * t_l3phi
virtual void beginRun(edm::Run const &, edm::EventSetup const &)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
TH1I * h_HLTAccept
virtual void beginJob()
edm::EDGetTokenT< GenEventInfoProduct > tok_ew_
std::vector< double > * t_trackPz
std::map< std::pair< unsigned int, std::string >, unsigned int > TrigList
spr::trackSelectionParameters selectionParameters
std::vector< double > * t_l3eta
edm::InputTag theTriggerResultsLabel
double dPhi(math::XYZTLorentzVector &, math::XYZTLorentzVector &)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
double dPt(math::XYZTLorentzVector &, math::XYZTLorentzVector &)
std::vector< double > * t_l1eta
std::map< std::pair< unsigned int, std::string >, const std::pair< int, int > > TrigPreList
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
std::vector< double > * t_leadingpt
virtual void endJob()
std::vector< double > * t_trkL3mindr
std::vector< double > * t_neu_iso
Definition: Run.h:43
std::vector< std::string > trigNames
Definition: IsoTrackCalib.h:99
void clearTreeVectors()
IsoTrackCalib(const edm::ParameterSet &)
Definition: IsoTrackCalib.cc:7