CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Attributes
HTrack Class Reference

#include <HTrack.h>

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

double computeEfficiency (HTrackVariables *sim, DQMStore::IBooker &)
 
void computePull (const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso)
 
void computeResolution (const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso)
 
void computeResolutionAndPull (TrajectoryStateOnSurface &vtx, SimTrack &simTrack)
 
void computeResolutionAndPull (const FreeTrajectoryState &fts, SimTrack &simTrack)
 
void computeTDRResolution (const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso)
 
void Fill (TrajectoryStateOnSurface &)
 
void Fill (const FreeTrajectoryState &)
 
void FillDeltaR (double)
 
 HTrack (DQMStore::IBooker &, std::string, std::string name, std::string whereIs="")
 
double pull (double rec, double sim, double sigmarec)
 
double resolution (double rec, double sim)
 

Private Attributes

bool doSubHisto
 
HResolutionhPull
 
HResolutionhPull_08
 
HResolutionhPull_08_12
 
HResolutionhPull_10_40
 
HResolutionhPull_12_21
 
HResolutionhPull_12_21_minus
 
HResolutionhPull_12_21_plus
 
HResolutionhPull_12_24
 
HResolutionhPull_12_24_minus
 
HResolutionhPull_12_24_plus
 
HResolutionhPull_40_70
 
HResolutionhPull_5_10
 
HResolutionhPull_70_100
 
HResolutionhResolution
 
HResolutionhResolution_08
 
HResolutionhResolution_08_12
 
HResolutionhResolution_10_40
 
HResolutionhResolution_12_21
 
HResolutionhResolution_12_21_minus
 
HResolutionhResolution_12_21_plus
 
HResolutionhResolution_12_24
 
HResolutionhResolution_12_24_minus
 
HResolutionhResolution_12_24_plus
 
HResolutionhResolution_40_70
 
HResolutionhResolution_5_10
 
HResolutionhResolution_70_100
 
HResolutionhTDRPull
 
HResolutionhTDRResolution
 
HResolutionhTDRResolution_08
 
HResolutionhTDRResolution_08_12
 
HResolutionhTDRResolution_10_40
 
HResolutionhTDRResolution_12_21
 
HResolutionhTDRResolution_12_21_minus
 
HResolutionhTDRResolution_12_21_plus
 
HResolutionhTDRResolution_12_24
 
HResolutionhTDRResolution_12_24_minus
 
HResolutionhTDRResolution_12_24_plus
 
HResolutionhTDRResolution_40_70
 
HResolutionhTDRResolution_5_10
 
HResolutionhTDRResolution_70_100
 
HTrackVariableshVariables
 
TString theName
 
TString where
 

Detailed Description

Definition at line 12 of file HTrack.h.

Member Typedef Documentation

Definition at line 14 of file HTrack.h.

Definition at line 15 of file HTrack.h.

Constructor & Destructor Documentation

HTrack::HTrack ( DQMStore::IBooker ,
std::string  ,
std::string  name,
std::string  whereIs = "" 
)

Definition at line 15 of file HTrack.cc.

References dqm::implementation::NavigatorBase::cd(), TrackerOfflineValidation_Dqm_cff::dirName, doSubHisto, hPull, hPull_08, hPull_08_12, hPull_10_40, hPull_12_21, hPull_12_21_minus, hPull_12_21_plus, hPull_12_24, hPull_12_24_minus, hPull_12_24_plus, hPull_40_70, hPull_5_10, hPull_70_100, hResolution, hResolution_08, hResolution_08_12, hResolution_10_40, hResolution_12_21, hResolution_12_21_minus, hResolution_12_21_plus, hResolution_12_24, hResolution_12_24_minus, hResolution_12_24_plus, hResolution_40_70, hResolution_5_10, hResolution_70_100, hTDRPull, hTDRResolution, hTDRResolution_08, hTDRResolution_08_12, hTDRResolution_10_40, hTDRResolution_12_21, hTDRResolution_12_21_minus, hTDRResolution_12_21_plus, hTDRResolution_12_24, hTDRResolution_12_24_minus, hTDRResolution_12_24_plus, hTDRResolution_40_70, hTDRResolution_5_10, hTDRResolution_70_100, hVariables, mergeVDriftHistosByStation::name, dqm::implementation::NavigatorBase::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

16  : theName(name.c_str()), where(whereIs.c_str()) {
17  ibooker.cd();
18  std::string dirName = dirName_;
19  dirName += "/";
20  dirName += name;
21  dirName += "_";
22  dirName += whereIs;
23 
24  ibooker.setCurrentFolder(dirName);
25  hVariables = new HTrackVariables(ibooker, dirName, name, whereIs);
26 
27  ibooker.cd();
28  string resName = dirName;
29  resName += "/Resolution";
30  hResolution = new HResolution(ibooker, resName, name + "_Res", whereIs);
31  ibooker.cd();
32  ibooker.setCurrentFolder(dirName);
33  hTDRResolution = new HResolution(ibooker, resName, name + "_TDRRes", whereIs);
34 
35  ibooker.cd();
36  ibooker.setCurrentFolder(dirName);
37  string pullName = dirName;
38  pullName += "/Pull";
39  hPull = new HResolution(ibooker, pullName, name + "_Pull", whereIs);
40  hTDRPull = new HResolution(ibooker, pullName, name + "_TDRPull", whereIs);
41 
42  doSubHisto = false;
43 
44  if (doSubHisto) {
45  ibooker.cd();
46  ibooker.setCurrentFolder(dirName);
47  string subName = dirName;
48  subName += "/subHistos";
49  // [5-10] GeV range
50  hResolution_5_10 = new HResolution(ibooker, subName, name + "_Res_Pt_5_10", whereIs);
51  hTDRResolution_5_10 = new HResolution(ibooker, subName, name + "_TDRRes_Pt_5_10", whereIs);
52  hPull_5_10 = new HResolution(ibooker, subName, name + "_Pull_Pt_5_10", whereIs);
53 
54  hResolution_10_40 = new HResolution(ibooker, subName, name + "_Res_Pt_10_40", whereIs);
55  hTDRResolution_10_40 = new HResolution(ibooker, subName, name + "_TDRRes_Pt_10_40", whereIs);
56  hPull_10_40 = new HResolution(ibooker, subName, name + "_Pull_Pt_10_40", whereIs);
57 
58  hResolution_40_70 = new HResolution(ibooker, subName, name + "_Res_Pt_40_70", whereIs);
59  hTDRResolution_40_70 = new HResolution(ibooker, subName, name + "_TDRRes_Pt_40_70", whereIs);
60  hPull_40_70 = new HResolution(ibooker, subName, name + "_Pull_Pt_40_70", whereIs);
61 
62  hResolution_70_100 = new HResolution(ibooker, subName, name + "_Res_Pt_70_100", whereIs);
63  hTDRResolution_70_100 = new HResolution(ibooker, subName, name + "_TDRRes_Pt_70_100", whereIs);
64  hPull_70_100 = new HResolution(ibooker, subName, name + "_Pull_Pt_70_100", whereIs);
65 
66  hResolution_08 = new HResolution(ibooker, subName, name + "_Res_Eta_08", whereIs);
67  hTDRResolution_08 = new HResolution(ibooker, subName, name + "_TDRRes_Eta_08", whereIs);
68  hPull_08 = new HResolution(ibooker, subName, name + "_Pull_Eta_08", whereIs);
69 
70  hResolution_08_12 = new HResolution(ibooker, subName, name + "_Res_Eta_08_12", whereIs);
71  hTDRResolution_08_12 = new HResolution(ibooker, subName, name + "_TDRRes_Eta_08_12", whereIs);
72  hPull_08_12 = new HResolution(ibooker, subName, name + "_Pull_Eta_08_12", whereIs);
73 
74  hResolution_12_21 = new HResolution(ibooker, subName, name + "_Res_Eta_12_21", whereIs);
75  hTDRResolution_12_21 = new HResolution(ibooker, subName, name + "_TDRRes_Eta_12_21", whereIs);
76  hPull_12_21 = new HResolution(ibooker, subName, name + "_Pull_Eta_12_21", whereIs);
77 
78  hResolution_12_24 = new HResolution(ibooker, subName, name + "_Res_Eta_12_24", whereIs);
79  hTDRResolution_12_24 = new HResolution(ibooker, subName, name + "_TDRRes_Eta_12_24", whereIs);
80  hPull_12_24 = new HResolution(ibooker, subName, name + "_Pull_Eta_12_24", whereIs);
81 
82  hResolution_12_21_plus = new HResolution(ibooker, subName, name + "_Res_Eta_12_21_plus", whereIs);
83  hTDRResolution_12_21_plus = new HResolution(ibooker, subName, name + "_TDRRes_Eta_12_21_plus", whereIs);
84  hPull_12_21_plus = new HResolution(ibooker, subName, name + "_Pull_Eta_12_21_plus", whereIs);
85 
86  hResolution_12_24_plus = new HResolution(ibooker, subName, name + "_Res_Eta_12_24_plus", whereIs);
87  hTDRResolution_12_24_plus = new HResolution(ibooker, subName, name + "_TDRRes_Eta_12_24_plus", whereIs);
88  hPull_12_24_plus = new HResolution(ibooker, subName, name + "_Pull_Eta_12_24_plus", whereIs);
89 
90  hResolution_12_21_minus = new HResolution(ibooker, subName, name + "_Res_Eta_12_21_minus", whereIs);
91  hTDRResolution_12_21_minus = new HResolution(ibooker, subName, name + "_TDRRes_Eta_12_21_minus", whereIs);
92  hPull_12_21_minus = new HResolution(ibooker, subName, name + "_Pull_Eta_12_21_minus", whereIs);
93 
94  hResolution_12_24_minus = new HResolution(ibooker, subName, name + "_Res_Eta_12_24_minus", whereIs);
95  hTDRResolution_12_24_minus = new HResolution(ibooker, subName, name + "_TDRRes_Eta_12_24_minus", whereIs);
96  hPull_12_24_minus = new HResolution(ibooker, subName, name + "_Pull_Eta_12_24_minus", whereIs);
97  }
98 }
HResolution * hPull_08_12
Definition: HTrack.h:78
HResolution * hResolution_12_21
Definition: HTrack.h:81
HResolution * hTDRResolution
Definition: HTrack.h:47
HResolution * hTDRResolution_12_24_plus
Definition: HTrack.h:97
HResolution * hPull
Definition: HTrack.h:44
HResolution * hResolution
Definition: HTrack.h:43
HResolution * hTDRResolution_12_24
Definition: HTrack.h:87
HResolution * hTDRResolution_40_70
Definition: HTrack.h:62
HResolution * hResolution_12_24_plus
Definition: HTrack.h:96
TString where
Definition: HTrack.h:111
HResolution * hResolution_10_40
Definition: HTrack.h:56
HResolution * hPull_10_40
Definition: HTrack.h:58
HResolution * hResolution_12_24
Definition: HTrack.h:86
HResolution * hResolution_12_21_plus
Definition: HTrack.h:91
TString theName
Definition: HTrack.h:110
HResolution * hTDRResolution_5_10
Definition: HTrack.h:52
HResolution * hResolution_12_24_minus
Definition: HTrack.h:106
HResolution * hResolution_5_10
Definition: HTrack.h:51
HTrackVariables * hVariables
Definition: HTrack.h:40
HResolution * hTDRResolution_12_21_minus
Definition: HTrack.h:102
HResolution * hPull_12_21
Definition: HTrack.h:83
HResolution * hResolution_08_12
Definition: HTrack.h:76
HResolution * hTDRResolution_12_21
Definition: HTrack.h:82
HResolution * hTDRResolution_12_24_minus
Definition: HTrack.h:107
HResolution * hResolution_40_70
Definition: HTrack.h:61
HResolution * hResolution_08
Definition: HTrack.h:71
HResolution * hPull_70_100
Definition: HTrack.h:68
bool doSubHisto
Definition: HTrack.h:113
HResolution * hTDRPull
Definition: HTrack.h:48
HResolution * hPull_40_70
Definition: HTrack.h:63
HResolution * hTDRResolution_08_12
Definition: HTrack.h:77
HResolution * hPull_12_24_minus
Definition: HTrack.h:108
HResolution * hPull_12_21_minus
Definition: HTrack.h:103
HResolution * hPull_12_24
Definition: HTrack.h:88
HResolution * hTDRResolution_70_100
Definition: HTrack.h:67
HResolution * hTDRResolution_08
Definition: HTrack.h:72
HResolution * hPull_12_24_plus
Definition: HTrack.h:98
HResolution * hResolution_70_100
Definition: HTrack.h:66
HResolution * hTDRResolution_10_40
Definition: HTrack.h:57
HResolution * hPull_5_10
Definition: HTrack.h:53
HResolution * hPull_08
Definition: HTrack.h:73
HResolution * hResolution_12_21_minus
Definition: HTrack.h:101
HResolution * hPull_12_21_plus
Definition: HTrack.h:93
HResolution * hTDRResolution_12_21_plus
Definition: HTrack.h:92

Member Function Documentation

double HTrack::computeEfficiency ( HTrackVariables sim,
DQMStore::IBooker ibooker 
)

Definition at line 113 of file HTrack.cc.

References HTrackVariables::computeEfficiency(), and hVariables.

113  {
114  return hVariables->computeEfficiency(sim, ibooker);
115 }
double computeEfficiency(HTrackVariables *sim, DQMStore::IBooker &ibooker)
Definition: Histograms.h:89
HTrackVariables * hVariables
Definition: HTrack.h:40
void HTrack::computePull ( const FreeTrajectoryState fts,
SimTrack simTracks,
HResolution hReso 
)

Definition at line 238 of file HTrack.cc.

References funct::abs(), FreeTrajectoryState::cartesianError(), FreeTrajectoryState::charge(), FreeTrajectoryState::curvilinearError(), PV3DBase< T, PVType, FrameType >::eta(), etaerror, HResolution::Fill(), PV3DBase< T, PVType, FrameType >::mag(), CartesianTrajectoryError::matrix(), CurvilinearTrajectoryError::matrix(), CoreSimTrack::momentum(), FreeTrajectoryState::momentum(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), funct::pow(), pull(), funct::sin(), mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::theta(), CoreSimTrack::type(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by computeResolutionAndPull().

238  {
239  // x,y,z, px,py,pz
240  AlgebraicSymMatrix66 const errors = fts.cartesianError().matrix();
241 
242  double partialPterror = errors[3][3] * pow(fts.momentum().x(), 2) + errors[4][4] * pow(fts.momentum().y(), 2);
243 
244  // sqrt( (px*spx)^2 + (py*spy)^2 ) / pt
245  double pterror = sqrt(partialPterror) / fts.momentum().perp();
246 
247  // sqrt( (px*spx)^2 + (py*spy)^2 + (pz*spz)^2 ) / p
248  double perror = sqrt(partialPterror + errors[5][5] * pow(fts.momentum().z(), 2)) / fts.momentum().mag();
249 
250  double phierror = sqrt(fts.curvilinearError().matrix()[2][2]);
251 
252  double etaerror = sqrt(fts.curvilinearError().matrix()[1][1]) * abs(sin(fts.momentum().theta()));
253 
254  hReso->Fill(simTrack.momentum().mag(),
255  sqrt(simTrack.momentum().Perp2()),
256  simTrack.momentum().eta(),
257  simTrack.momentum().phi(),
258  pull(fts.momentum().mag(), simTrack.momentum().mag(), perror),
259  pull(fts.momentum().perp(), sqrt(simTrack.momentum().Perp2()), pterror),
260  pull(fts.momentum().eta(), simTrack.momentum().eta(), etaerror),
261  pull(fts.momentum().phi(), simTrack.momentum().phi(), phierror),
262  pull(fts.charge(), -simTrack.type() / abs(simTrack.type()), 1.)); // FIXME
263 }
CartesianTrajectoryError cartesianError() const
T perp() const
Definition: PV3DBase.h:69
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
T y() const
Definition: PV3DBase.h:60
TrackCharge charge() const
const CurvilinearTrajectoryError & curvilinearError() const
Geom::Theta< T > theta() const
Definition: PV3DBase.h:72
T mag() const
Definition: PV3DBase.h:64
T sqrt(T t)
Definition: SSEVec.h:19
T z() const
Definition: PV3DBase.h:61
Int_t Fill(Double_t x, Double_t y) override
Definition: Histograms.h:1830
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
GlobalVector momentum() const
const AlgebraicSymMatrix66 & matrix() const
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
T eta() const
Definition: PV3DBase.h:73
const AlgebraicSymMatrix55 & matrix() const
double pull(double rec, double sim, double sigmarec)
Definition: HTrack.cc:100
T x() const
Definition: PV3DBase.h:59
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
void HTrack::computeResolution ( const FreeTrajectoryState fts,
SimTrack simTracks,
HResolution hReso 
)

Definition at line 212 of file HTrack.cc.

References funct::abs(), FreeTrajectoryState::charge(), PV3DBase< T, PVType, FrameType >::eta(), HResolution::Fill(), PV3DBase< T, PVType, FrameType >::mag(), CoreSimTrack::momentum(), FreeTrajectoryState::momentum(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), resolution(), mathSSE::sqrt(), and CoreSimTrack::type().

Referenced by computeResolutionAndPull().

212  {
213  hReso->Fill(simTrack.momentum().mag(),
214  sqrt(simTrack.momentum().Perp2()),
215  simTrack.momentum().eta(),
216  simTrack.momentum().phi(),
217  resolution(fts.momentum().mag(), simTrack.momentum().mag()),
218  resolution(fts.momentum().perp(), sqrt(simTrack.momentum().Perp2())),
219  fts.momentum().eta() - simTrack.momentum().eta(),
220  fts.momentum().phi() - simTrack.momentum().phi(),
221  fts.charge() + simTrack.type() / abs(simTrack.type())); // FIXME
222 }
T perp() const
Definition: PV3DBase.h:69
double resolution(double rec, double sim)
Definition: HTrack.cc:102
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
TrackCharge charge() const
T mag() const
Definition: PV3DBase.h:64
T sqrt(T t)
Definition: SSEVec.h:19
Int_t Fill(Double_t x, Double_t y) override
Definition: Histograms.h:1830
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
GlobalVector momentum() const
T eta() const
Definition: PV3DBase.h:73
void HTrack::computeResolutionAndPull ( TrajectoryStateOnSurface vtx,
SimTrack simTrack 
)

Definition at line 117 of file HTrack.cc.

References TrajectoryStateOnSurface::freeState(), and cscDigiValidation_cfi::simTrack.

Referenced by MuonTrackAnalyzer::fillPlots().

117  {
118  computeResolutionAndPull(*tsos.freeState(), simTrack);
119 }
void computeResolutionAndPull(TrajectoryStateOnSurface &vtx, SimTrack &simTrack)
Definition: HTrack.cc:117
void HTrack::computeResolutionAndPull ( const FreeTrajectoryState fts,
SimTrack simTrack 
)

Definition at line 121 of file HTrack.cc.

References funct::abs(), computePull(), computeResolution(), computeTDRResolution(), doSubHisto, HTrackVariables::Fill(), hPull, hPull_08, hPull_08_12, hPull_10_40, hPull_12_21, hPull_12_21_minus, hPull_12_21_plus, hPull_12_24, hPull_12_24_minus, hPull_12_24_plus, hPull_40_70, hPull_5_10, hPull_70_100, hResolution, hResolution_08, hResolution_08_12, hResolution_10_40, hResolution_12_21, hResolution_12_21_minus, hResolution_12_21_plus, hResolution_12_24, hResolution_12_24_minus, hResolution_12_24_plus, hResolution_40_70, hResolution_5_10, hResolution_70_100, hTDRResolution, hTDRResolution_08, hTDRResolution_08_12, hTDRResolution_10_40, hTDRResolution_12_21, hTDRResolution_12_21_minus, hTDRResolution_12_21_plus, hTDRResolution_12_24, hTDRResolution_12_24_minus, hTDRResolution_12_24_plus, hTDRResolution_40_70, hTDRResolution_5_10, hTDRResolution_70_100, hVariables, CoreSimTrack::momentum(), and mathSSE::sqrt().

121  {
122  // Global Resolution
123  computeResolution(fts, simTrack, hResolution);
124  computePull(fts, simTrack, hPull);
125 
126  // TDR Resolution
127  computeTDRResolution(fts, simTrack, hTDRResolution);
128  // computeTDRPull(fts,simTracks,hTDRPull);
129 
130  hVariables->Fill(sqrt(simTrack.momentum().Perp2()), simTrack.momentum().eta(),
131  simTrack.momentum().phi()); //FIXME
132 
133  if (doSubHisto) {
134  // [5-10] GeV range
135  if (sqrt(simTrack.momentum().Perp2()) < 10) {
136  computeResolution(fts, simTrack, hResolution_5_10);
138  computePull(fts, simTrack, hPull_5_10);
139  }
140 
141  // [10-40] GeV range
142  if (sqrt(simTrack.momentum().Perp2()) >= 10 && sqrt(simTrack.momentum().Perp2()) < 40) {
143  computeResolution(fts, simTrack, hResolution_10_40);
145  computePull(fts, simTrack, hPull_10_40);
146  }
147 
148  // [40-70] GeV range
149  if (sqrt(simTrack.momentum().Perp2()) >= 40 && sqrt(simTrack.momentum().Perp2()) < 70) {
150  computeResolution(fts, simTrack, hResolution_40_70);
152  computePull(fts, simTrack, hPull_40_70);
153  }
154 
155  // [70-100] GeV range
156  if (sqrt(simTrack.momentum().Perp2()) >= 70 && sqrt(simTrack.momentum().Perp2()) < 100) {
157  computeResolution(fts, simTrack, hResolution_70_100);
159  computePull(fts, simTrack, hPull_70_100);
160  }
161 
162  // eta range |eta|<0.8
163  if (abs(simTrack.momentum().eta()) <= 0.8) {
164  computeResolution(fts, simTrack, hResolution_08);
165  computeTDRResolution(fts, simTrack, hTDRResolution_08);
166  computePull(fts, simTrack, hPull_08);
167  }
168 
169  // eta range 0.8<|eta|<1.2
170  if (abs(simTrack.momentum().eta()) > 0.8 && abs(simTrack.momentum().eta()) <= 1.2) {
171  computeResolution(fts, simTrack, hResolution_08_12);
173  computePull(fts, simTrack, hPull_08_12);
174  }
175 
176  // eta range 1.2<|eta|<2.1
177  if (abs(simTrack.momentum().eta()) > 1.2 && abs(simTrack.momentum().eta()) <= 2.1) {
178  computeResolution(fts, simTrack, hResolution_12_21);
180  computePull(fts, simTrack, hPull_12_21);
181 
182  if (simTrack.momentum().eta() > 0) {
185  computePull(fts, simTrack, hPull_12_21_plus);
186  } else {
189  computePull(fts, simTrack, hPull_12_21_minus);
190  }
191  }
192 
193  // eta range 1.2<|eta|<2.4
194  if (abs(simTrack.momentum().eta()) > 1.2 && abs(simTrack.momentum().eta()) <= 2.4) {
195  computeResolution(fts, simTrack, hResolution_12_24);
197  computePull(fts, simTrack, hPull_12_24);
198 
199  if (simTrack.momentum().eta() > 0) {
202  computePull(fts, simTrack, hPull_12_24_plus);
203  } else {
206  computePull(fts, simTrack, hPull_12_24_minus);
207  }
208  }
209  }
210 }
HResolution * hPull_08_12
Definition: HTrack.h:78
HResolution * hResolution_12_21
Definition: HTrack.h:81
HResolution * hTDRResolution
Definition: HTrack.h:47
HResolution * hTDRResolution_12_24_plus
Definition: HTrack.h:97
HResolution * hPull
Definition: HTrack.h:44
HResolution * hResolution
Definition: HTrack.h:43
HResolution * hTDRResolution_12_24
Definition: HTrack.h:87
HResolution * hTDRResolution_40_70
Definition: HTrack.h:62
HResolution * hResolution_12_24_plus
Definition: HTrack.h:96
void computeTDRResolution(const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso)
Definition: HTrack.cc:224
HResolution * hResolution_10_40
Definition: HTrack.h:56
HResolution * hPull_10_40
Definition: HTrack.h:58
HResolution * hResolution_12_24
Definition: HTrack.h:86
void computeResolution(const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso)
Definition: HTrack.cc:212
HResolution * hResolution_12_21_plus
Definition: HTrack.h:91
HResolution * hTDRResolution_5_10
Definition: HTrack.h:52
HResolution * hResolution_12_24_minus
Definition: HTrack.h:106
HResolution * hResolution_5_10
Definition: HTrack.h:51
HTrackVariables * hVariables
Definition: HTrack.h:40
HResolution * hTDRResolution_12_21_minus
Definition: HTrack.h:102
HResolution * hPull_12_21
Definition: HTrack.h:83
HResolution * hResolution_08_12
Definition: HTrack.h:76
T sqrt(T t)
Definition: SSEVec.h:19
HResolution * hTDRResolution_12_21
Definition: HTrack.h:82
HResolution * hTDRResolution_12_24_minus
Definition: HTrack.h:107
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
HResolution * hResolution_40_70
Definition: HTrack.h:61
HResolution * hResolution_08
Definition: HTrack.h:71
HResolution * hPull_70_100
Definition: HTrack.h:68
bool doSubHisto
Definition: HTrack.h:113
HResolution * hPull_40_70
Definition: HTrack.h:63
HResolution * hTDRResolution_08_12
Definition: HTrack.h:77
HResolution * hPull_12_24_minus
Definition: HTrack.h:108
HResolution * hPull_12_21_minus
Definition: HTrack.h:103
void Fill(double p, double pt, double eta, double phi, double charge)
Definition: Histograms.h:72
HResolution * hPull_12_24
Definition: HTrack.h:88
HResolution * hTDRResolution_70_100
Definition: HTrack.h:67
HResolution * hTDRResolution_08
Definition: HTrack.h:72
HResolution * hPull_12_24_plus
Definition: HTrack.h:98
const math::XYZTLorentzVectorD & momentum() const
Definition: CoreSimTrack.h:19
HResolution * hResolution_70_100
Definition: HTrack.h:66
HResolution * hTDRResolution_10_40
Definition: HTrack.h:57
void computePull(const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso)
Definition: HTrack.cc:238
HResolution * hPull_5_10
Definition: HTrack.h:53
HResolution * hPull_08
Definition: HTrack.h:73
HResolution * hResolution_12_21_minus
Definition: HTrack.h:101
HResolution * hPull_12_21_plus
Definition: HTrack.h:93
HResolution * hTDRResolution_12_21_plus
Definition: HTrack.h:92
void HTrack::computeTDRResolution ( const FreeTrajectoryState fts,
SimTrack simTracks,
HResolution hReso 
)

Definition at line 224 of file HTrack.cc.

References funct::abs(), FreeTrajectoryState::charge(), HResolution::Fill(), CoreSimTrack::momentum(), FreeTrajectoryState::momentum(), PV3DBase< T, PVType, FrameType >::perp(), resolution(), FreeTrajectoryState::signedInverseMomentum(), mathSSE::sqrt(), and CoreSimTrack::type().

Referenced by computeResolutionAndPull().

224  {
225  int simCharge = -simTrack.type() / abs(simTrack.type());
226 
227  double invSimP = (simTrack.momentum().mag() == 0) ? 0 : simTrack.momentum().mag();
228  double signedInverseRecMom = (simTrack.momentum().mag() == 0) ? 0 : fts.signedInverseMomentum();
229 
230  hReso->Fill(simTrack.momentum().mag(),
231  sqrt(simTrack.momentum().Perp2()),
232  simTrack.momentum().eta(),
233  simTrack.momentum().phi(),
234  resolution(signedInverseRecMom, simCharge * invSimP),
235  resolution(fts.charge() / fts.momentum().perp(), simCharge / sqrt(simTrack.momentum().Perp2())));
236 }
T perp() const
Definition: PV3DBase.h:69
double resolution(double rec, double sim)
Definition: HTrack.cc:102
TrackCharge charge() const
T sqrt(T t)
Definition: SSEVec.h:19
Int_t Fill(Double_t x, Double_t y) override
Definition: Histograms.h:1830
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
GlobalVector momentum() const
double signedInverseMomentum() const
void HTrack::Fill ( TrajectoryStateOnSurface tsos)

Definition at line 104 of file HTrack.cc.

References TrajectoryStateOnSurface::freeState().

Referenced by MuonTrackAnalyzer::fillPlots().

104 { Fill(*tsos.freeState()); }
FreeTrajectoryState const * freeState(bool withErrors=true) const
void Fill(TrajectoryStateOnSurface &)
Definition: HTrack.cc:104
void HTrack::Fill ( const FreeTrajectoryState fts)

Definition at line 106 of file HTrack.cc.

References FreeTrajectoryState::charge(), PV3DBase< T, PVType, FrameType >::eta(), HTrackVariables::Fill(), hVariables, PV3DBase< T, PVType, FrameType >::mag(), FreeTrajectoryState::momentum(), PV3DBase< T, PVType, FrameType >::perp(), and PV3DBase< T, PVType, FrameType >::phi().

106  {
107  hVariables->Fill(
108  fts.momentum().mag(), fts.momentum().perp(), fts.momentum().eta(), fts.momentum().phi(), fts.charge());
109 }
T perp() const
Definition: PV3DBase.h:69
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
TrackCharge charge() const
T mag() const
Definition: PV3DBase.h:64
HTrackVariables * hVariables
Definition: HTrack.h:40
GlobalVector momentum() const
void Fill(double p, double pt, double eta, double phi, double charge)
Definition: Histograms.h:72
T eta() const
Definition: PV3DBase.h:73
void HTrack::FillDeltaR ( double  deltaR)

Definition at line 111 of file HTrack.cc.

References HTrackVariables::FillDeltaR(), and hVariables.

Referenced by MuonTrackAnalyzer::fillPlots().

HTrackVariables * hVariables
Definition: HTrack.h:40
void FillDeltaR(double deltaR)
Definition: Histograms.h:87
double HTrack::pull ( double  rec,
double  sim,
double  sigmarec 
)

Definition at line 100 of file HTrack.cc.

Referenced by computePull().

100 { return (rec - sim) / sigmarec; }
Definition: sim.h:19
double HTrack::resolution ( double  rec,
double  sim 
)

Definition at line 102 of file HTrack.cc.

Referenced by computeResolution(), and computeTDRResolution().

102 { return (rec - sim) / sim; }
Definition: sim.h:19

Member Data Documentation

bool HTrack::doSubHisto
private

Definition at line 113 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull
private

Definition at line 44 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_08
private

Definition at line 73 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_08_12
private

Definition at line 78 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_10_40
private

Definition at line 58 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_12_21
private

Definition at line 83 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_12_21_minus
private

Definition at line 103 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_12_21_plus
private

Definition at line 93 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_12_24
private

Definition at line 88 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_12_24_minus
private

Definition at line 108 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_12_24_plus
private

Definition at line 98 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_40_70
private

Definition at line 63 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_5_10
private

Definition at line 53 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hPull_70_100
private

Definition at line 68 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution
private

Definition at line 43 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_08
private

Definition at line 71 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_08_12
private

Definition at line 76 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_10_40
private

Definition at line 56 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_12_21
private

Definition at line 81 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_12_21_minus
private

Definition at line 101 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_12_21_plus
private

Definition at line 91 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_12_24
private

Definition at line 86 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_12_24_minus
private

Definition at line 106 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_12_24_plus
private

Definition at line 96 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_40_70
private

Definition at line 61 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_5_10
private

Definition at line 51 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hResolution_70_100
private

Definition at line 66 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRPull
private

Definition at line 48 of file HTrack.h.

Referenced by HTrack().

HResolution* HTrack::hTDRResolution
private

Definition at line 47 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_08
private

Definition at line 72 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_08_12
private

Definition at line 77 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_10_40
private

Definition at line 57 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_12_21
private

Definition at line 82 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_12_21_minus
private

Definition at line 102 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_12_21_plus
private

Definition at line 92 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_12_24
private

Definition at line 87 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_12_24_minus
private

Definition at line 107 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_12_24_plus
private

Definition at line 97 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_40_70
private

Definition at line 62 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_5_10
private

Definition at line 52 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HResolution* HTrack::hTDRResolution_70_100
private

Definition at line 67 of file HTrack.h.

Referenced by computeResolutionAndPull(), and HTrack().

HTrackVariables* HTrack::hVariables
private

Definition at line 40 of file HTrack.h.

Referenced by computeEfficiency(), computeResolutionAndPull(), Fill(), FillDeltaR(), and HTrack().

TString HTrack::theName
private

Definition at line 110 of file HTrack.h.

TString HTrack::where
private

Definition at line 111 of file HTrack.h.