ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::TimePlots Struct Reference

time plots More...

#include <MuonInsideOutAnalysisPlots.h>

Collaboration diagram for Muon::TimePlots:

Public Member Functions

void book (TDirectory *dir, const TString &prefix, int type)
void fill (const MuonValidationTimeBlock &times, int index, float betaTrack)

Public Attributes

int typeIndex
TH1 * time
TH1 * error
TH1 * timeRes
TH1 * timePull
TH1 * beta
TH1 * betaRes
TH1 * betaPull
TH1 * invBetaRes
TH1 * invBetaPull
TH2 * timeResScat
TH2 * timePullScat
TH1 * error_time
TH1 * errorRT
TH1 * errorTrack
TH2 * errorRT_Track
TH1 * timeResCor
TH1 * timePullCor
TH1 * timeRes0_10
TH1 * timeRes10_70
TH1 * timeRes70_150
TH1 * timeRes150_350
TH1 * timeRes350_800
TH1 * timePull0_10
TH1 * timePull10_70
TH1 * timePull70_150
TH1 * timePull150_350
TH1 * timePull350_800

Detailed Description

time plots

Definition at line 62 of file MuonInsideOutAnalysisPlots.h.

Member Function Documentation

◆ book()

void Muon::TimePlots::book ( TDirectory * dir,
const TString & prefix,
int type )

Definition at line 80 of file MuonInsideOutAnalysisPlots.cxx.

80 {
81 type = type % 1000; // truncate anything above 1000
82 bool isMDT = (type == 1 || type == 10);
83 float tmin = -15;
84 float tmax = 15;
85 float timeRange = 5;
86 if( isMDT ){
87 tmin = -30;
88 tmax = 30;
89 if( type == 10 ) timeRange = 800;
90 }
91 time = new TH1F(prefix+"time","time",100,-20.,100.);
92 error = new TH1F(prefix+"error","error",100,0.,15.);
93 timeRes = new TH1F(prefix+"timeRes","timeRes",200,tmin,tmax);
94 timePull = new TH1F(prefix+"pullRes","pullRes",200,-7,7);
95 beta = new TH1F(prefix+"beta","beta",100,.0,2.);
96 betaRes = new TH1F(prefix+"betaRes","betaRes",200,-1.2,1.2);
97 betaPull = new TH1F(prefix+"betaPull","betaPull",200,-7,7);
98 invBetaRes = new TH1F(prefix+"invBetaRes","invBetaRes",200,-1.2,1.2);
99 invBetaPull = new TH1F(prefix+"invBetaPull","invBetaPull",200,-7,7);
100
101
102 if( type == 10 ){
103 timeResScat = new TH2F(prefix+"timeResScat","timeResScat",100,tmin,timeRange,100,tmin,tmax);
104 timePullScat = new TH2F(prefix+"pullResScat","pullResScat",100,tmin,timeRange,100,-7.,7.);
105
106 error_time = new TH2F(prefix+"error_time","error_time",100,tmin,timeRange,100,0.,15.);
107 errorRT = new TH1F(prefix+"errorRT","errorRT",100,-20.,100.);
108 errorTrack = new TH1F(prefix+"errorTrack","errorTrack",100,-20.,100.);
109 errorRT_Track = new TH2F(prefix+"errorRT_Track","errorRT_Track",100,-20.,100.,100,-20.,100.);
110 timeResCor = new TH1F(prefix+"timeResCor","timeResCor",200,tmin,tmax);
111 timePullCor = new TH1F(prefix+"timePullCor","timePullCor",200,-7,7);
112 timeRes0_10 = new TH1F(prefix+"timeRes0_10","timeRes0_10",200,tmin,tmax);
113 timeRes10_70 = new TH1F(prefix+"timeRes10_70","timeRes10_70",200,tmin,tmax);
114 timeRes70_150 = new TH1F(prefix+"timeRes70_150","timeRes70_150",200,tmin,tmax);
115 timeRes150_350 = new TH1F(prefix+"timeRes150_350","timeRes150_350",200,tmin,tmax);
116 timeRes350_800 = new TH1F(prefix+"timeRes350_800","timeRes350_800",200,tmin,tmax);
117
118 timePull0_10 = new TH1F(prefix+"timePull0_10","timePull0_10",200,-7,7);
119 timePull10_70 = new TH1F(prefix+"timePull10_70","timePull10_70",200,-7,7);
120 timePull70_150 = new TH1F(prefix+"timePull70_150","timePull70_150",200,-7,7);
121 timePull150_350 = new TH1F(prefix+"timePull150_350","timePull150_350",200,-7,7);
122 timePull350_800 = new TH1F(prefix+"timePull350_800","timePull350_800",200,-7,7);
123 }else if( type == 1 ){
124 timeResCor = new TH1F(prefix+"timeResLargeError","timeResLargeError",200,tmin,tmax);
125 timePullCor = new TH1F(prefix+"timePullLargError","timePullLargError",200,-7,7);
126 }
127 }
TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)

◆ fill()

void Muon::TimePlots::fill ( const MuonValidationTimeBlock & times,
int index,
float betaTrack )

Definition at line 129 of file MuonInsideOutAnalysisPlots.cxx.

129 {
130 float dist = (*times.d)[index];
131 int type = (*times.type)[index];
132 float err = (*times.err)[index];
133 float t = (*times.time)[index];
134 MuonBetaCalculationUtils betaUtils(0.);
135 float tof = betaUtils.calculateTof(1.,dist);
136 float timeTrack = betaUtils.calculateTof(betaTrack,dist);
137 float t0_ = (*times.time)[index]+tof;
138 float betaMeas = betaUtils.calculateBeta(t0_,dist);
139 float betaError = betaUtils.calculateBetaError(t0_,err,dist);
140 float invBetaMeas = betaUtils.calculateInverseBeta(t0_,dist);
141 float invBetaError = betaUtils.calculateInverseBetaError(err,dist);
142 time->Fill(t);
143 error->Fill(err);
144 beta->Fill(betaMeas);
145 float res = t0_-timeTrack;
146 float pull = res/err;
147 if( type != 1 || err < 7 ){
148 timeRes->Fill(res);
149 timePull->Fill(pull);
150 }
151 float betaResidual = betaMeas-betaTrack;
152 betaRes->Fill(betaResidual);
153 betaPull->Fill(betaResidual/betaError);
154 float invBetaResidual = invBetaMeas-1./betaTrack;
155 invBetaRes->Fill(invBetaResidual);
156 invBetaPull->Fill(invBetaResidual/invBetaError);
157
158 float fullTime = (*times.timeProp)[index];
159 if( type == 10 ){
160 error_time->Fill(fullTime,err);
161 timeResScat->Fill(fullTime,res);
162 timePullScat->Fill(fullTime,pull);
163 float errTrk = (*times.avTimeProp)[index];
164 errorTrack->Fill(errTrk);
165 float errRT = sqrt(err*err-errTrk*errTrk);
166 errorRT->Fill(errRT);
167 errorRT_Track->Fill(errRT,errTrk);
168 float rescor = res-(*times.timeCor)[index];
169 float pullcor = rescor/err;
170 timeResCor->Fill(rescor);
171 timePullCor->Fill(pullcor);
172 if( fullTime < 10 ) timeRes0_10->Fill(res);
173 else if( fullTime < 50 ) timeRes10_70->Fill(res);
174 else if( fullTime < 150 ) timeRes70_150->Fill(res);
175 else if( fullTime < 350 ) timeRes150_350->Fill(res);
176 else timeRes350_800->Fill(res);
177
178 if( fullTime < 10 ) timePull0_10->Fill(pull);
179 else if( fullTime < 50 ) timePull10_70->Fill(pull);
180 else if( fullTime < 150 ) timePull70_150->Fill(pull);
181 else if( fullTime < 350 ) timePull150_350->Fill(pull);
182 else timePull350_800->Fill(pull);
183
184 }else if( type == 1 && err > 7 ){
185 timeResCor->Fill(res);
186 timePullCor->Fill(pull);
187 }
188 }
std::pair< std::vector< unsigned int >, bool > res

Member Data Documentation

◆ beta

TH1* Muon::TimePlots::beta

Definition at line 68 of file MuonInsideOutAnalysisPlots.h.

◆ betaPull

TH1* Muon::TimePlots::betaPull

Definition at line 70 of file MuonInsideOutAnalysisPlots.h.

◆ betaRes

TH1* Muon::TimePlots::betaRes

Definition at line 69 of file MuonInsideOutAnalysisPlots.h.

◆ error

TH1* Muon::TimePlots::error

Definition at line 65 of file MuonInsideOutAnalysisPlots.h.

◆ error_time

TH1* Muon::TimePlots::error_time

Definition at line 76 of file MuonInsideOutAnalysisPlots.h.

◆ errorRT

TH1* Muon::TimePlots::errorRT

Definition at line 77 of file MuonInsideOutAnalysisPlots.h.

◆ errorRT_Track

TH2* Muon::TimePlots::errorRT_Track

Definition at line 79 of file MuonInsideOutAnalysisPlots.h.

◆ errorTrack

TH1* Muon::TimePlots::errorTrack

Definition at line 78 of file MuonInsideOutAnalysisPlots.h.

◆ invBetaPull

TH1* Muon::TimePlots::invBetaPull

Definition at line 72 of file MuonInsideOutAnalysisPlots.h.

◆ invBetaRes

TH1* Muon::TimePlots::invBetaRes

Definition at line 71 of file MuonInsideOutAnalysisPlots.h.

◆ time

TH1* Muon::TimePlots::time

Definition at line 64 of file MuonInsideOutAnalysisPlots.h.

◆ timePull

TH1* Muon::TimePlots::timePull

Definition at line 67 of file MuonInsideOutAnalysisPlots.h.

◆ timePull0_10

TH1* Muon::TimePlots::timePull0_10

Definition at line 88 of file MuonInsideOutAnalysisPlots.h.

◆ timePull10_70

TH1* Muon::TimePlots::timePull10_70

Definition at line 89 of file MuonInsideOutAnalysisPlots.h.

◆ timePull150_350

TH1* Muon::TimePlots::timePull150_350

Definition at line 91 of file MuonInsideOutAnalysisPlots.h.

◆ timePull350_800

TH1* Muon::TimePlots::timePull350_800

Definition at line 92 of file MuonInsideOutAnalysisPlots.h.

◆ timePull70_150

TH1* Muon::TimePlots::timePull70_150

Definition at line 90 of file MuonInsideOutAnalysisPlots.h.

◆ timePullCor

TH1* Muon::TimePlots::timePullCor

Definition at line 81 of file MuonInsideOutAnalysisPlots.h.

◆ timePullScat

TH2* Muon::TimePlots::timePullScat

Definition at line 74 of file MuonInsideOutAnalysisPlots.h.

◆ timeRes

TH1* Muon::TimePlots::timeRes

Definition at line 66 of file MuonInsideOutAnalysisPlots.h.

◆ timeRes0_10

TH1* Muon::TimePlots::timeRes0_10

Definition at line 82 of file MuonInsideOutAnalysisPlots.h.

◆ timeRes10_70

TH1* Muon::TimePlots::timeRes10_70

Definition at line 83 of file MuonInsideOutAnalysisPlots.h.

◆ timeRes150_350

TH1* Muon::TimePlots::timeRes150_350

Definition at line 85 of file MuonInsideOutAnalysisPlots.h.

◆ timeRes350_800

TH1* Muon::TimePlots::timeRes350_800

Definition at line 86 of file MuonInsideOutAnalysisPlots.h.

◆ timeRes70_150

TH1* Muon::TimePlots::timeRes70_150

Definition at line 84 of file MuonInsideOutAnalysisPlots.h.

◆ timeResCor

TH1* Muon::TimePlots::timeResCor

Definition at line 80 of file MuonInsideOutAnalysisPlots.h.

◆ timeResScat

TH2* Muon::TimePlots::timeResScat

Definition at line 73 of file MuonInsideOutAnalysisPlots.h.

◆ typeIndex

int Muon::TimePlots::typeIndex

Definition at line 63 of file MuonInsideOutAnalysisPlots.h.


The documentation for this struct was generated from the following files: