ATLAS Offline Software
MuonSegmentPlots.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONHISTUTILS_MUONSEGMENTPLOTS_H
6 #define MUONHISTUTILS_MUONSEGMENTPLOTS_H
7 
9 
10 #include "xAODMuon/MuonSegment.h"
13 #include <vector>
14 #include <string>
15 
16 namespace Muon{
17 
18 class MuonSegmentPlots:public PlotBase {
19  public:
20  MuonSegmentPlots(PlotBase* pParent, const std::string& sDir);
22 
23  void fill(const xAOD::MuonSegment& muonSeg, float weight=1.0);
24 
25  TH1* segmentfitChi2{nullptr};
26  TH1* segmentfitNdof{nullptr};
27  TH1* segmentfitChi2oNdof{nullptr};
28 
29  TH1* t0{nullptr};
30  TH1* t0_top{nullptr};
31  TH1* t0_bottom{nullptr};
32  TH1* t0err{nullptr};
33  TH1* t0err_top{nullptr};
34  TH1* t0err_bottom{nullptr};
35 
36  TH1* nPrecisionHits{nullptr};
37  TH1* nPhiLayers{nullptr};
38  TH1* nTrigEtaLayers{nullptr};
40 
41  TH1* etaIndex{nullptr};
42  TH1* sector{nullptr};
43 
44 
45  TH2* xypos_barrel{nullptr};
46  TH2* xypos_endcap{nullptr};
47  TH2* rzpos_sectorSmall{nullptr};
48  TH2* rzpos_sectorLarge{nullptr};
49 
50  TH1* etadir{nullptr};
51  TH1* etadir_barrel{nullptr};
52  TH1* etadir_endcap{nullptr};
53  TH1* phidir{nullptr};
54  TH1* etaphidir{nullptr};
55 
56  TH1* chamberIndex{nullptr};
57  TH2* chamberIndex_perSector{nullptr};
61 
62  //TH2* chamberIndex_dtheta;
63  std::vector<TH2*> sector_etaIndex;
64  std::vector<TH2*> sector_etaIndex_nPrechit;
65  std::vector<TH2*> sector_etaIndex_nTrighit;
66  std::vector<TH2*> eff_sector_etaIndex_nPrechit;
67  std::vector<TH2*> eff_sector_etaIndex_nTrighit;
68 
69  static constexpr std::array<float,17> Chamberarea{0.465313, 0.589744, 0.393503, 0.516815, 0.404094,
70  0.588759, 0.0700091, 0.204258, 0.50283, 0.577781,
71  0.902194, 0.484968, 0.746214, 0.111742, 0.192025,
72  0.380506, 0.380506};//eta * phi for each chamber
73  static constexpr std::array<float, 17> Chamberexpectedhits{8.0, 8.0, 6.0, 6.0, 6.0, 6.0, 4.0,
74  8.0, 8.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 4.0, 4.0};//number of expected hits for each chamber
75  // BIS, BIL, BMS, BML, BOS, BOL, BEE, EIS, EIL, EMS, EML, EOS, EOL, EES, EEL, CSS, CSL
76  // 5 and 3 are sacled down from 6 and 4 based on Z MC; could be wrong
77  static constexpr std::array<float, 17> Chamberexpectedtrighits{1.0, 1.0, 5.0, 5.0, 3.0, 3.0, 1.0,
78  2.0, 2.0, 7.0, 7.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};//number of expected hits for each chamber
79 
80 
81 };
82 }
83 
84 #endif
Muon::MuonSegmentPlots::t0_top
TH1 * t0_top
Definition: MuonSegmentPlots.h:30
Muon::MuonSegmentPlots::sector_etaIndex
std::vector< TH2 * > sector_etaIndex
Definition: MuonSegmentPlots.h:63
Muon::MuonSegmentPlots::eff_chamberIndex_perSector
TH2 * eff_chamberIndex_perSector
Definition: MuonSegmentPlots.h:60
PlotBase
Definition: PlotBase.h:34
Muon::MuonSegmentPlots::t0_bottom
TH1 * t0_bottom
Definition: MuonSegmentPlots.h:31
Muon::MuonSegmentPlots::rzpos_sectorLarge
TH2 * rzpos_sectorLarge
Definition: MuonSegmentPlots.h:48
Muon::MuonSegmentPlots::etadir_barrel
TH1 * etadir_barrel
Definition: MuonSegmentPlots.h:51
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
Muon::MuonSegmentPlots::Chamberexpectedhits
static constexpr std::array< float, 17 > Chamberexpectedhits
Definition: MuonSegmentPlots.h:73
Muon::MuonSegmentPlots::segmentfitNdof
TH1 * segmentfitNdof
Definition: MuonSegmentPlots.h:26
Muon::MuonSegmentPlots::nPhiLayers
TH1 * nPhiLayers
Definition: MuonSegmentPlots.h:37
MuonSegment.h
xAOD::MuonSegment_v1
Class describing a MuonSegment.
Definition: MuonSegment_v1.h:33
Muon::MuonSegmentPlots::t0err_top
TH1 * t0err_top
Definition: MuonSegmentPlots.h:33
Muon::MuonSegmentPlots::Chamberexpectedtrighits
static constexpr std::array< float, 17 > Chamberexpectedtrighits
Definition: MuonSegmentPlots.h:77
Muon::MuonSegmentPlots::t0err_bottom
TH1 * t0err_bottom
Definition: MuonSegmentPlots.h:34
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:45
Muon::MuonSegmentPlots::segmentfitChi2oNdof
TH1 * segmentfitChi2oNdof
Definition: MuonSegmentPlots.h:27
Muon::MuonSegmentPlots::t0
TH1 * t0
Definition: MuonSegmentPlots.h:29
Muon::MuonSegmentPlots::chamberIndex_perSector
TH2 * chamberIndex_perSector
Definition: MuonSegmentPlots.h:57
Muon::MuonSegmentPlots::nPrecisionHits
TH1 * nPrecisionHits
Definition: MuonSegmentPlots.h:36
Muon::MuonSegmentPlots::phidir
TH1 * phidir
Definition: MuonSegmentPlots.h:53
MuonSegmentContainer.h
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
Muon::MuonSegmentPlots::etaIndex
TH1 * etaIndex
Definition: MuonSegmentPlots.h:41
Muon::MuonSegmentPlots::chamberIndex
TH1 * chamberIndex
Definition: MuonSegmentPlots.h:56
Muon::MuonSegmentPlots::nPrecisionHits_nTriggerHits
TH2 * nPrecisionHits_nTriggerHits
Definition: MuonSegmentPlots.h:39
Muon::MuonSegmentPlots::sector_etaIndex_nPrechit
std::vector< TH2 * > sector_etaIndex_nPrechit
Definition: MuonSegmentPlots.h:64
Muon::MuonSegmentPlots::rzpos_sectorSmall
TH2 * rzpos_sectorSmall
Definition: MuonSegmentPlots.h:47
Muon::MuonSegmentPlots::etaphidir
TH1 * etaphidir
Definition: MuonSegmentPlots.h:54
Muon::MuonSegmentPlots::etadir_endcap
TH1 * etadir_endcap
Definition: MuonSegmentPlots.h:52
Muon::MuonSegmentPlots::Chamberarea
static constexpr std::array< float, 17 > Chamberarea
Definition: MuonSegmentPlots.h:69
Muon::MuonSegmentPlots::eff_chamberIndex_perSector_denominator
TH2 * eff_chamberIndex_perSector_denominator
Definition: MuonSegmentPlots.h:59
Muon::MuonSegmentPlots::eff_sector_etaIndex_nPrechit
std::vector< TH2 * > eff_sector_etaIndex_nPrechit
Definition: MuonSegmentPlots.h:66
Muon::MuonSegmentPlots::segmentfitChi2
TH1 * segmentfitChi2
Definition: MuonSegmentPlots.h:25
Muon::MuonSegmentPlots::t0err
TH1 * t0err
Definition: MuonSegmentPlots.h:32
Muon::MuonSegmentPlots::sector_etaIndex_nTrighit
std::vector< TH2 * > sector_etaIndex_nTrighit
Definition: MuonSegmentPlots.h:65
Muon::MuonSegmentPlots::sector
TH1 * sector
Definition: MuonSegmentPlots.h:42
Muon::MuonSegmentPlots
Definition: MuonSegmentPlots.h:18
Muon::MuonSegmentPlots::etadir
TH1 * etadir
Definition: MuonSegmentPlots.h:50
Muon::MuonSegmentPlots::eff_sector_etaIndex_nTrighit
std::vector< TH2 * > eff_sector_etaIndex_nTrighit
Definition: MuonSegmentPlots.h:67
Muon::MuonSegmentPlots::nTrigEtaLayers
TH1 * nTrigEtaLayers
Definition: MuonSegmentPlots.h:38
Muon::MuonSegmentPlots::xypos_endcap
TH2 * xypos_endcap
Definition: MuonSegmentPlots.h:46
Muon::MuonSegmentPlots::fill
void fill(const xAOD::MuonSegment &muonSeg, float weight=1.0)
Definition: MuonSegmentPlots.cxx:73
Muon::MuonSegmentPlots::MuonSegmentPlots
MuonSegmentPlots(PlotBase *pParent, const std::string &sDir)
Definition: MuonSegmentPlots.cxx:13
PlotBase.h
Muon::MuonSegmentPlots::eff_chamberIndex_perSector_numerator
TH2 * eff_chamberIndex_perSector_numerator
Definition: MuonSegmentPlots.h:58
TrackParticleContainer.h
Muon::MuonSegmentPlots::xypos_barrel
TH2 * xypos_barrel
Definition: MuonSegmentPlots.h:45
Muon::MuonSegmentPlots::~MuonSegmentPlots
~MuonSegmentPlots()