CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ValidationMisalignedTracker.h
Go to the documentation of this file.
1 #ifndef Alignment_OfflineValidation_ValidationMisalignedTracker_h
2 #define Alignment_OfflineValidation_ValidationMisalignedTracker_h
3 
4 // system include files
5 #include <memory>
6 
7 // user include files
13 
14 //
28 
29 #include "TTree.h"
30 #include "TFile.h"
31 
32 #include "TROOT.h"
33 #include "TSystem.h"
34 #include "TCanvas.h"
35 #include <cmath>
36 #include "TStyle.h"
37 
38 //
39 // class decleration
40 //
41 
43 public:
46  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
47 
48 private:
49  void analyze(const edm::Event&, const edm::EventSetup&) override;
50  void endJob() override;
51 
52  // ----------member data ---------------------------
53 
58  const std::vector<std::string> associators;
59  const std::vector<edm::InputTag> label;
67  const std::vector<edm::EDGetTokenT<reco::TrackToTrackingParticleAssociator>> assocToken_;
68 
69  bool skip;
71  TTree* tree_eff;
72  TTree* tree_fake;
73  TFile* file_;
74 
75  int irun, ievt;
76 
79  int countpart[2], countpartrec[2];
81  // int countsim;
82  float ene[2][2], p[2][2], px[2][2], py[2][2], pz[2][2], ptmu[2][2];
83  float recene[2][2], recp[2][2], recpx[2][2], recpy[2][2], recpz[2][2], recptmu[2][2];
84 
85  int trackType;
86  float pt, eta, cottheta, theta, costheta, phi, d0, z0;
87  int nhit;
90  float recchiq;
92 
98  float fakeene[2][2], fakep[2][2], fakepx[2][2], fakepy[2][2], fakepz[2][2], fakeptmu[2][2];
99  float fakerecene[2][2], fakerecp[2][2], fakerecpx[2][2], fakerecpy[2][2], fakerecpz[2][2], fakerecptmu[2][2];
100 
103  int fakenhit;
106  float fakerecchiq;
108 
109  double chi2tmp;
110  float fractiontmp;
111  bool onlyDiag;
112 
114  std::vector<float> ptused;
115 };
116 
117 #endif
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken_
const std::vector< std::string > associators
const edm::EDGetTokenT< TrackingParticleCollection > tpeffToken_
void analyze(const edm::Event &, const edm::EventSetup &) override
const edm::EDGetTokenT< edm::View< reco::Track > > trackToken_
const edm::EDGetTokenT< edm::HepMCProduct > evtToken_
ValidationMisalignedTracker(const edm::ParameterSet &)
const edm::EDGetTokenT< TrackingParticleCollection > tpfakeToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const std::vector< edm::EDGetTokenT< reco::TrackToTrackingParticleAssociator > > assocToken_
const std::vector< edm::InputTag > label
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)