CMS 3D CMS Logo

IsolatedTracksHcalScale.h
Go to the documentation of this file.
1 #ifndef CalibrationIsolatedParticlesIsolatedTracksHcalScale_h
2 #define CalibrationIsolatedParticlesIsolatedTracksHcalScale_h
3 
4 // system include files
5 #include <memory>
6 #include <cmath>
7 #include <string>
8 #include <map>
9 #include <vector>
10 
11 // user include files
12 #include <Math/GenVector/VectorUtil.h>
13 
20 
22 
23 // TFile Service
26 
31 
32 // muons and tracks
36 // Vertices
40 // Calorimeters
53 
54 //L1 objects
61 
62 // Jets in the event
66 
67 // SimHit
69 //simtrack
74 
75 // track associator
79 
80 // tracker hit associator
82 
83 // ecal / hcal
90 
92 
98 
105 
106 // root objects
107 #include "TROOT.h"
108 #include "TSystem.h"
109 #include "TFile.h"
110 #include "TH1F.h"
111 #include "TH2F.h"
112 #include "TProfile.h"
113 #include "TDirectory.h"
114 #include "TTree.h"
115 
117 
118 public:
120  ~IsolatedTracksHcalScale() override;
121 
122 private:
123  //void beginJob(const edm::EventSetup&) ;
124  void beginJob() override ;
125  void analyze(const edm::Event&, const edm::EventSetup&) override;
126  void endJob() override ;
127 
128  void clearTreeVectors();
129 
130 private:
131 
132  bool initL1, doMC;
137  double tMinE_, tMaxE_;
138 
140 
147 
153 
156 
157  double genPartEtaBins[4];
158 
159  static const size_t NEtaBins = 3;
160 
161  TTree* tree;
162 
164  std::vector<double> *t_trackP, *t_trackPt, *t_trackEta, *t_trackPhi;
165  std::vector<double> *t_trackHcalEta, *t_trackHcalPhi, *t_eHCALDR;
166  std::vector<double> *t_hCone, *t_conehmaxNearP, *t_eMipDR, *t_eECALDR;
167  std::vector<double> *t_e11x11_20Sig, *t_e15x15_20Sig;
168  std::vector<double> *t_eMipDR_1, *t_eECALDR_1, *t_eMipDR_2, *t_eECALDR_2;
169  std::vector<double> *t_hConeHB, *t_eHCALDRHB;
172  std::vector<double> *t_hsimInfoTotal, *t_hsim;
175  std::vector<int> *t_nSimHits;
177 };
178 
179 #endif
std::vector< double > * t_hsimInfoMatched
edm::Service< TFileService > fs
std::vector< double > * t_eHCALDR
std::vector< int > * t_hsimInfoNRest
std::vector< double > * t_hCone
IsolatedTracksHcalScale(const edm::ParameterSet &)
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
std::vector< int > * t_hsimInfoNTotal
std::vector< int > * t_hsimInfoNCharHad
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloEE_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
std::vector< int > * t_hsimInfoNMatched
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
std::vector< double > * t_hsim
std::vector< double > * t_hsimInfoNeutHad
std::vector< double > * t_eMipDR_2
std::vector< int > * t_hsimInfoNPhoton
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
std::vector< double > * t_e11x11_20Sig
std::vector< int > * t_hsimInfoNNeutHad
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloEB_
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
std::vector< double > * t_trackEta
std::vector< double > * t_eECALDR_2
edm::EDGetTokenT< edm::SimTrackContainer > tok_simTk_
std::vector< double > * t_eECALDR
spr::trackSelectionParameters selectionParameters
std::vector< double > * t_eMipDR_1
std::vector< double > * t_trackPt
const MagneticField * bField
std::vector< double > * t_trackHcalEta
std::vector< double > * t_trackP
std::vector< double > * t_eECALDR_1
std::vector< double > * t_trackHcalPhi
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< double > * t_hsimInfoPhoton
std::vector< double > * t_hsimInfoTotal
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloHH_
std::vector< double > * t_hsimInfoCharHad
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
std::vector< double > * t_trackPhi
std::vector< double > * t_eHCALDRHB
std::vector< double > * t_hsimInfoPdgMatched
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
edm::EDGetTokenT< edm::SimVertexContainer > tok_simVtx_
std::vector< int > * t_nSimHits
std::vector< double > * t_hConeHB
std::vector< double > * t_hsimInfoRest
std::vector< double > * t_conehmaxNearP
std::vector< double > * t_e15x15_20Sig
std::vector< double > * t_eMipDR