1 #ifndef Alignment_APEEstimation_TrackerSectorStruct_h 2 #define Alignment_APEEstimation_TrackerSectorStruct_h 58 TString, TString, TString, TString, TString,
int,
int,
double,
double,
std::string =
"nphtr");
60 TString, TString, TString, TString,
int,
int,
double,
double,
std::string =
"nphtr");
62 TString, TString, TString, TString,
int,
int,
double,
double,
std::string =
"nphtr");
84 std::map<std::string, std::vector<TH1 *> >
m_sigmaX;
89 std::map<std::string, std::vector<TH1 *> >
m_sigmaY;
178 return bookCorrHists(
"X", varName, varTitle, labelX, unitX, nBinX1D, nBinX2D, minBinX, maxBinX, options);
189 return bookCorrHists(
"Y", varName, varTitle, labelX, unitX, nBinX1D, nBinX2D, minBinX, maxBinX, options);
215 if (!(o.find(
"n") != std::string::npos || o.find(
"p") != std::string::npos || o.find(
"h") != std::string::npos ||
216 o.find(
"t") != std::string::npos || o.find(
"r") != std::string::npos))
217 return correlationHists;
223 return correlationHists;
226 varTitle +
" " + labelX +
";" + labelX +
" " + unitX +
";# hits",
231 if (options.find(
"n") != std::string::npos)
233 directory->
make<TH2F>(
"h2_norRes" + xY +
"Vs" + varName,
234 "r_{" + xy +
"}/#sigma_{r," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
235 ";(" + xy +
"_{trk}-" + xy +
"_{hit})/#sigma_{r," + xy +
"}",
242 if (options.find(
"p") != std::string::npos)
244 directory->
make<TH2F>(
"h2_prob" + xY +
"Vs" + varName,
245 "prob_{" + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";prob_{" + xy +
"}",
252 if (options.find(
"h") != std::string::npos)
254 "h2_sigma" + xY +
"HitVs" + varName,
255 "#sigma_{hit," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{hit," + xy +
"} [#mum]",
261 sigmaXHitMax * 10000.);
262 if (options.find(
"t") != std::string::npos)
264 "h2_sigma" + xY +
"TrkVs" + varName,
265 "#sigma_{trk," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{trk," + xy +
"} [#mum]",
272 if (options.find(
"r") != std::string::npos)
274 "h2_sigma" + xY +
"Vs" + varName,
275 "#sigma_{r," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{r," + xy +
"} [#mum]",
283 if (options.find(
"n") != std::string::npos)
285 directory->
make<TProfile>(
"p_norRes" + xY +
"Vs" + varName,
286 "r_{" + xy +
"}/#sigma_{r," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
287 ";(" + xy +
"_{trk}-" + xy +
"_{hit})/#sigma_{r," + xy +
"}",
292 if (options.find(
"p") != std::string::npos)
294 "p_prob" + xY +
"Vs" + varName,
295 "prob_{" + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";prob_{" + xy +
"}",
300 if (options.find(
"h") != std::string::npos)
302 "p_sigma" + xY +
"HitVs" + varName,
303 "#sigma_{hit," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{hit," + xy +
"} [#mum]",
307 if (options.find(
"t") != std::string::npos)
309 "p_sigma" + xY +
"TrkVs" + varName,
310 "#sigma_{trk," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{trk," + xy +
"} [#mum]",
314 if (options.find(
"r") != std::string::npos)
316 "p_sigma" + xY +
"Vs" + varName,
317 "#sigma_{r," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{r," + xy +
"} [#mum]",
322 return correlationHists;
326 TString varName, TString labelX, TString unitX,
int nBinX,
double minBinX,
double maxBinX,
std::string options) {
327 return bookCorrHists(
"X", varName, labelX, unitX, nBinX, minBinX, maxBinX, options);
330 TString varName, TString labelX, TString unitX,
int nBinX,
double minBinX,
double maxBinX,
std::string options) {
331 return bookCorrHists(
"Y", varName, labelX, unitX, nBinX, minBinX, maxBinX, options);
352 if (!(o.find(
"n") != std::string::npos || o.find(
"p") != std::string::npos || o.find(
"h") != std::string::npos ||
353 o.find(
"t") != std::string::npos || o.find(
"r") != std::string::npos))
354 return correlationHists;
360 return correlationHists;
362 if (options.find(
"n") != std::string::npos)
364 directory->
make<TH2F>(
"h2_norRes" + xY +
"Vs" + varName,
365 "r_{" + xy +
"}/#sigma_{r," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
366 ";(" + xy +
"_{trk}-" + xy +
"_{hit})/#sigma_{r," + xy +
"}",
373 if (options.find(
"p") != std::string::npos)
375 directory->
make<TH2F>(
"h2_prob" + xY +
"Vs" + varName,
376 "prob_{" + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";prob_{" + xy +
"}",
383 if (options.find(
"h") != std::string::npos)
385 "h2_sigma" + xY +
"HitVs" + varName,
386 "#sigma_{hit," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{hit," + xy +
"} [#mum]",
392 sigmaXHitMax * 10000.);
393 if (options.find(
"t") != std::string::npos)
395 "h2_sigma" + xY +
"TrkVs" + varName,
396 "#sigma_{trk," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{trk," + xy +
"} [#mum]",
403 if (options.find(
"r") != std::string::npos)
405 "h2_sigma" + xY +
"Vs" + varName,
406 "#sigma_{r," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{r," + xy +
"} [#mum]",
414 if (options.find(
"n") != std::string::npos)
416 directory->
make<TProfile>(
"p_norRes" + xY +
"Vs" + varName,
417 "r_{" + xy +
"}/#sigma_{r," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
418 ";(" + xy +
"_{trk}-" + xy +
"_{hit})/#sigma_{r," + xy +
"}",
423 if (options.find(
"p") != std::string::npos)
425 "p_prob" + xY +
"Vs" + varName,
426 "prob_{" + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";prob_{" + xy +
"}",
431 if (options.find(
"h") != std::string::npos)
433 "p_sigma" + xY +
"HitVs" + varName,
434 "#sigma_{hit," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{hit," + xy +
"} [#mum]",
438 if (options.find(
"t") != std::string::npos)
440 "p_sigma" + xY +
"TrkVs" + varName,
441 "#sigma_{trk," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{trk," + xy +
"} [#mum]",
445 if (options.find(
"r") != std::string::npos)
447 "p_sigma" + xY +
"Vs" + varName,
448 "#sigma_{r," + xy +
"} vs. " + labelX +
";" + labelX +
" " + unitX +
";#sigma_{r," + xy +
"} [#mum]",
453 return correlationHists;
458 return fillCorrHists(
"X", hitParameterStruct, variable);
462 return fillCorrHists(
"Y", hitParameterStruct, variable);
473 norRes = hitParameterStruct.
norResX;
474 prob = hitParameterStruct.
probX;
475 errHit = hitParameterStruct.
errXHit;
476 errTrk = hitParameterStruct.
errXTrk;
477 err = hitParameterStruct.
errX;
480 norRes = hitParameterStruct.
norResY;
481 prob = hitParameterStruct.
probY;
482 errHit = hitParameterStruct.
errYHit;
483 errTrk = hitParameterStruct.
errYTrk;
484 err = hitParameterStruct.
errY;
488 Variable->Fill(variable);
492 NorResXVsVar->Fill(variable, norRes);
493 PNorResXVsVar->Fill(variable, norRes);
496 ProbXVsVar->Fill(variable, prob);
497 PProbXVsVar->Fill(variable, prob);
499 if (SigmaXHitVsVar) {
500 SigmaXHitVsVar->Fill(variable, errHit * 10000.);
501 PSigmaXHitVsVar->Fill(variable, errHit * 10000.);
503 if (SigmaXTrkVsVar) {
504 SigmaXTrkVsVar->Fill(variable, errTrk * 10000.);
505 PSigmaXTrkVsVar->Fill(variable, errTrk * 10000.);
508 SigmaXVsVar->Fill(variable, err * 10000.);
509 PSigmaXVsVar->Fill(variable, err * 10000.);
TFileDirectory * directory_
void fillCorrHistsY(const TrackStruct::HitParameterStruct &hitParameterStruct, double variable)
std::map< std::string, std::vector< TH1 * > > m_sigmaX
std::map< std::string, std::vector< TH1 * > > m_sigmaY
TH2 * WidthDiffVsMaxStrip
TH2 * WidthDiffVsSigmaXHit
void fillCorrHists(const TString, const TrackStruct::HitParameterStruct &hitParameterStruct, double variable)
TProfile * PSigmaXTrkVsVar
CorrelationHists bookCorrHistsX(TString, TString, TString, TString, int, int, double, double, std::string="nphtr")
TProfile * PPhiSensYVsBarycentreY
TProfile * PWidthDiffVsMaxStrip
TProfile * PPhiSensXVsBarycentreX
std::map< unsigned int, std::map< std::string, TH1 * > > m_binnedHists
T * make(const Args &...args) const
make new ROOT object
TProfile * PWidthVsWidthProjected
CorrelationHists bookCorrHistsY(TString, TString, TString, TString, int, int, double, double, std::string="nphtr")
void setCorrHistParams(TFileDirectory *, double, double, double)
CorrelationHists bookCorrHists(TString, TString, TString, TString, TString, int, int, double, double, std::string="nphtr")
TH2 * PhiSensXVsBarycentreX
std::map< std::string, CorrelationHists > m_correlationHistsY
TProfile * PSigmaXHitVsVar
TH2 * WidthVsWidthProjected
void fillCorrHistsX(const TrackStruct::HitParameterStruct &hitParameterStruct, double variable)
TProfile * PWidthDiffVsSigmaXHit
TH2 * PhiSensYVsBarycentreY
TProfile * PWidthVsPhiSensX
std::map< std::string, CorrelationHists > m_correlationHistsX
std::vector< unsigned int > v_rawId