Belle II Software development
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
15namespace Belle2 {
26 class AlignDQMModule : public DQMHistoModuleBase { // <- derived from HistoModule class
27
28 public:
31 /* Destructor */
32 ~AlignDQMModule() { }
33
35 virtual void event() override;
37 virtual void endRun() override;
38
41 virtual void defineHisto() override;
42
46 virtual TH1F* Create(std::string name, std::string title, int nbinsx, double xlow, double xup, std::string xTitle,
47 std::string yTitle) override;
49 virtual TH2F* Create(std::string name, std::string title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup,
50 std::string xTitle, std::string yTitle, std::string zTitle) override;
51
57 virtual void FillHelixParametersAndCorrelations(const TrackFitResult* tfr) override;
59 virtual void FillPositionSensors(ROOT::Math::XYZVector residual_um, ROOT::Math::XYZVector position, int sensorIndex);
61 virtual void FillLayers(ROOT::Math::XYZVector residual_um, float phi_deg, float theta_deg, int layerIndex);
64 protected:
70 virtual void DefineHelixParametersAndCorrelations() override;
72 void DefineSensors();
74 virtual void DefineLayers();
79 TH2F** m_ResMeanPosUVSensCounts = nullptr;
81 TH2F** m_ResMeanUPosUVSens = nullptr;
83 TH2F** m_ResMeanVPosUVSens = nullptr;
85 TH2F** m_ResUPosUSens = nullptr;
87 TH2F** m_ResUPosVSens = nullptr;
89 TH2F** m_ResVPosUSens = nullptr;
91 TH2F** m_ResVPosVSens = nullptr;
93 TH1F** m_ResMeanUPosUSens = nullptr;
95 TH1F** m_ResMeanUPosVSens = nullptr;
97 TH1F** m_ResMeanVPosUSens = nullptr;
99 TH1F** m_ResMeanVPosVSens = nullptr;
100
105 TH2F** m_ResMeanUPhiThetaLayer = nullptr;
107 TH2F** m_ResMeanVPhiThetaLayer = nullptr;
109 TH2F** m_ResUPhiLayer = nullptr;
111 TH2F** m_ResUThetaLayer = nullptr;
113 TH2F** m_ResVPhiLayer = nullptr;
115 TH2F** m_ResVThetaLayer = nullptr;
117 TH1F** m_ResMeanUPhiLayer = nullptr;
119 TH1F** m_ResMeanUThetaLayer = nullptr;
121 TH1F** m_ResMeanVPhiLayer = nullptr;
123 TH1F** m_ResMeanVThetaLayer = nullptr;
124
127 TH2F* m_PhiZ0 = nullptr;
129 TH2F* m_PhiMomPt = nullptr;
131 TH2F* m_PhiOmega = nullptr;
133 TH2F* m_PhiTanLambda = nullptr;
135 TH2F* m_D0MomPt = nullptr;
137 TH2F* m_D0Omega = nullptr;
139 TH2F* m_D0TanLambda = nullptr;
141 TH2F* m_Z0MomPt = nullptr;
143 TH2F* m_Z0Omega = nullptr;
145 TH2F* m_Z0TanLambda = nullptr;
147 TH2F* m_MomPtOmega = nullptr;
149 TH2F* m_MomPtTanLambda = nullptr;
151 TH2F* m_OmegaTanLambda = nullptr;
152 };
154}
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.