Belle II Software  release-08-01-10
AlignDQMModule.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <tracking/dqmUtils/DQMHistoModuleBase.h>
12 
13 #include <Math/Vector3D.h>
14 
15 namespace Belle2 {
29  class AlignDQMModule : public DQMHistoModuleBase { // <- derived from HistoModule class
30 
31  public:
34  /* Destructor */
35  ~AlignDQMModule() { }
36 
38  virtual void event() override;
40  virtual void endRun() override;
41 
44  virtual void defineHisto() override;
45 
49  virtual TH1F* Create(std::string name, std::string title, int nbinsx, double xlow, double xup, std::string xTitle,
50  std::string yTitle) override;
52  virtual TH2F* Create(std::string name, std::string title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup,
53  std::string xTitle, std::string yTitle, std::string zTitle) override;
54 
60  virtual void FillHelixParametersAndCorrelations(const TrackFitResult* tfr) override;
62  virtual void FillPositionSensors(ROOT::Math::XYZVector residual_um, ROOT::Math::XYZVector position, int sensorIndex);
64  virtual void FillLayers(ROOT::Math::XYZVector residual_um, float phi_deg, float theta_deg, int layerIndex);
67  protected:
73  virtual void DefineHelixParametersAndCorrelations() override;
75  void DefineSensors();
77  virtual void DefineLayers();
82  TH2F** m_ResMeanPosUVSensCounts = nullptr;
84  TH2F** m_ResMeanUPosUVSens = nullptr;
86  TH2F** m_ResMeanVPosUVSens = nullptr;
88  TH2F** m_ResUPosUSens = nullptr;
90  TH2F** m_ResUPosVSens = nullptr;
92  TH2F** m_ResVPosUSens = nullptr;
94  TH2F** m_ResVPosVSens = nullptr;
96  TH1F** m_ResMeanUPosUSens = nullptr;
98  TH1F** m_ResMeanUPosVSens = nullptr;
100  TH1F** m_ResMeanVPosUSens = nullptr;
102  TH1F** m_ResMeanVPosVSens = nullptr;
103 
108  TH2F** m_ResMeanUPhiThetaLayer = nullptr;
110  TH2F** m_ResMeanVPhiThetaLayer = nullptr;
112  TH2F** m_ResUPhiLayer = nullptr;
114  TH2F** m_ResUThetaLayer = nullptr;
116  TH2F** m_ResVPhiLayer = nullptr;
118  TH2F** m_ResVThetaLayer = nullptr;
120  TH1F** m_ResMeanUPhiLayer = nullptr;
122  TH1F** m_ResMeanUThetaLayer = nullptr;
124  TH1F** m_ResMeanVPhiLayer = nullptr;
126  TH1F** m_ResMeanVThetaLayer = nullptr;
127 
130  TH2F* m_PhiZ0 = nullptr;
132  TH2F* m_PhiMomPt = nullptr;
134  TH2F* m_PhiOmega = nullptr;
136  TH2F* m_PhiTanLambda = nullptr;
138  TH2F* m_D0MomPt = nullptr;
140  TH2F* m_D0Omega = nullptr;
142  TH2F* m_D0TanLambda = nullptr;
144  TH2F* m_Z0MomPt = nullptr;
146  TH2F* m_Z0Omega = nullptr;
148  TH2F* m_Z0TanLambda = nullptr;
150  TH2F* m_MomPtOmega = nullptr;
152  TH2F* m_MomPtTanLambda = nullptr;
154  TH2F* m_OmegaTanLambda = nullptr;
155  };
157 }
DQM of Alignment for off line residuals per sensor, layer, keep also On-Line DQM from tracking: their...
TH1F ** m_ResMeanVPosVSens
ResidaulMeanV vs V for sensor.
void DefineSensors()
Define histograms which depend on position for individual sensors.
TH1F ** m_ResMeanUPosVSens
ResidaulMeanU vs V for sensor.
TH2F ** m_ResVPosUSens
ResidaulV vs U for sensor.
virtual void FillHelixParametersAndCorrelations(const TrackFitResult *tfr) override
Fill histograms with helix parameters and their correlations.
TH2F * m_MomPtTanLambda
Track momentum Pt vs.
TH2F * m_PhiMomPt
Phi - the angle of the transverse momentum in the r-phi plane vs.
TH2F * m_PhiTanLambda
Phi - the angle of the transverse momentum in the r-phi plane vs.
TH2F ** m_ResMeanVPhiThetaLayer
ResidaulMeanU vs Phi vs Theta for Layer.
virtual void event() override
Module function event.
TH2F ** m_ResUPhiLayer
ResidaulU vs Phi for Layer.
virtual TH1F * Create(std::string name, std::string title, int nbinsx, double xlow, double xup, std::string xTitle, std::string yTitle) override
Function to create TH1F and add it to the vector of histograms (m_histograms).
virtual void endRun() override
Module function endRun.
TH2F ** m_ResMeanPhiThetaLayerCounts
Special Alignment related: Layer level.
TH1F ** m_ResMeanUPhiLayer
ResidaulMeanU vs Phi for Layer.
TH2F ** m_ResMeanVPosUVSens
ResidaulMeanU vs U vs V for sensor.
TH2F * m_MomPtOmega
Track momentum Pt vs.
TH2F ** m_ResMeanPosUVSensCounts
Special Alignment related: Sensor level.
TH2F * m_Z0TanLambda
z0 - the z0 coordinate of the perigee vs.
TH2F ** m_ResMeanUPhiThetaLayer
ResidaulMeanU vs Phi vs Theta for Layer.
TH1F ** m_ResMeanVPhiLayer
ResidaulMeanV vs Phi for Layer.
virtual void FillPositionSensors(ROOT::Math::XYZVector residual_um, ROOT::Math::XYZVector position, int sensorIndex)
Fill histograms which depend on position for individual sensors.
AlignDQMModule()
Constructor.
TH2F ** m_ResVThetaLayer
ResidaulV vs Theta for Layer.
TH2F * m_Z0Omega
z0 - the z0 coordinate of the perigee vs.
TH2F ** m_ResMeanUPosUVSens
ResidaulMeanU vs U vs V for sensor.
TH2F * m_OmegaTanLambda
Omega - the curvature of the track vs.
virtual void DefineHelixParametersAndCorrelations() override
All the following Define- functions should be used in the defineHisto() function to define histograms...
virtual void FillLayers(ROOT::Math::XYZVector residual_um, float phi_deg, float theta_deg, int layerIndex)
Fill histograms which depend on layerIndex.
TH1F ** m_ResMeanUThetaLayer
ResidaulMeanU vs Theta for Layer.
TH2F * m_PhiOmega
Phi - the angle of the transverse momentum in the r-phi plane vs.
TH2F * m_PhiZ0
helix parameters and their corellations
TH2F ** m_ResVPosVSens
ResidaulV vs V for sensor.
TH1F ** m_ResMeanUPosUSens
ResidaulMeanU vs U for sensor.
TH2F ** m_ResUPosVSens
ResidaulU vs V for sensor.
TH2F * m_Z0MomPt
z0 - the z0 coordinate of the perigee vs.
TH2F ** m_ResUPosUSens
ResidaulU vs U for sensor.
TH2F * m_D0MomPt
d0 - signed distance to the IP in r-phi vs.
TH1F ** m_ResMeanVThetaLayer
ResidaulMeanV vs Theta for Layer.
TH2F ** m_ResVPhiLayer
ResidaulV vs Phi for Layer.
TH2F * m_D0Omega
d0 - signed distance to the IP in r-phi vs.
TH1F ** m_ResMeanVPosUSens
ResidaulMeanV vs U for sensor.
TH2F * m_D0TanLambda
d0 - signed distance to the IP in r-phi vs.
virtual void DefineLayers()
Define histograms which depend on layerIndex.
TH2F ** m_ResUThetaLayer
ResidaulU vs Theta for Layer.
virtual void defineHisto() override
Histogram definitions such as TH1(), TH2(), TNtuple(), TTree()....
This class serves as a base for the TrackDQMModule and AlignDQMModule (and possibly other DQM histogr...
Values of the result of a track fit with a given particle hypothesis.
Abstract base class for different kinds of events.