Belle II Software development
|
The purpose of this class is to process one event() in DQMHistoModuleBase, which is a base for TrackDQMModule and AlignDQMModule. More...
#include <DQMEventProcessorBase.h>
Public Member Functions | |
DQMEventProcessorBase (DQMHistoModuleBase *histoModule, const std::string &recoTracksStoreArrayName, const std::string &tracksStoreArrayName, bool runningOnHLT=false) | |
Constructor. | |
virtual void | Run () |
Call this to start processing the event data and filling histograms. | |
void | produce1Dres () |
Call this if you want to produce 1D Track Residual plots for each VXD sensor. | |
void | produce2Dres () |
Call this if you want to produce 2D Track Residual plots for each VXD sensor. | |
void | produceTRClusters () |
Call this if you want to produce 2D Track-Related Cluster plots. | |
Protected Member Functions | |
virtual void | ProcessTrack (const Track &track) |
Find RecoTrack for given track. | |
virtual TString | ConstructMessage (const TrackFitResult *trackFitResult, int nPXDClusters, int nSVDClusters, int nCDCHits) |
Make debug message with information about RecoTrack. | |
virtual void | FillTrackFitResult (const TrackFitResult *trackFitResult) |
Fill histograms with values derived from TrackFitResult. | |
virtual void | ProcessSuccessfulFit () |
Continue track processing by calling ProcessRecoHit function on each RecoHitInformation in given RecoHit. | |
virtual void | ProcessRecoHit (RecoHitInformation *recoHitInfo) |
Compute unbiased residual and the calls ProcesPXDRecoHit or ProcessSVDRecoHit. | |
virtual void | ProcessPXDRecoHit (RecoHitInformation *recoHitInfo) |
Compute position in a PXD way. | |
virtual void | ProcessSVDRecoHit (RecoHitInformation *recoHitInfo) |
Compute position in a SVD way which means we need two consecutive hits to be from the same sensor to get both u and v coordinates. | |
virtual void | ComputeCommonVariables () |
Compute variables which are common for PXD and SVD hit. | |
virtual void | FillCommonHistograms () |
Fill histograms which are common for PXD and SVD hit. | |
virtual void | SetCommonPrevVariables () |
Set the value of -Prev values which are common for PXD and SVD hit. | |
Static Protected Member Functions | |
static bool | IsNotYang (int ladderNumber, int layerNumber) |
Returns true if sensor with given ladderNumber and layerNumber isn't in the Yang half-shell, therefore it should be in the Yin half-shell if it's from PXD detector. | |
static bool | IsNotMat (int ladderNumber, int layerNumber) |
Returns true if sensor with given ladderNumber and layerNumber isn't in the Mat half-shell, therefore it should be in the Pat half-shell if it's from SVD detector. | |
Protected Attributes | |
DQMHistoModuleBase * | m_histoModule = nullptr |
DQM histogram module on which the Fill- functions are called to fill histograms. | |
std::string | m_tracksStoreArrayName = "" |
StoreArray name where Tracks are written. | |
std::string | m_recoTracksStoreArrayName = "" |
StoreArray name where RecoTracks are written. | |
bool | m_runningOnHLT |
true if the DQM is run on HLT | |
bool | m_produce1Dres = false |
if true, produce 1D Track residuals plots for each VXD sensor | |
bool | m_produce2Dres = false |
if true, produce 2D Track residuals plots for each VXD sensor | |
bool | m_produceTRClusters = false |
if true, produce 2D Track-Related Cluster plots | |
int | m_iTrack = 0 |
index of track (with valid TrackFitResult and related RecoTrack) | |
int | m_iTrackVXD = 0 |
index of track where are VXD hits and aren't CDC hits (with valid TrackFitResult and related RecoTrack) | |
int | m_iTrackCDC = 0 |
index of track where are CDC hits and aren't VXD hits (with valid TrackFitResult and related RecoTrack) | |
int | m_iTrackVXDCDC = 0 |
index of track where are both VXD hits and CDC hits (with valid TrackFitResult and related RecoTrack) | |
RecoTrack * | m_recoTrack = nullptr |
RecoTrack related to currently processed Track. | |
bool | m_isNotFirstHit = false |
Determines if the hit is not the first hit in the current track. | |
TVectorT< double > * | m_rawSensorResidual = nullptr |
unbiased residual for the hit obtained from the sensor so its length is different for PXD and SVD sensors | |
VxdID | m_sensorID = VxdID(0) |
ID of the current sensor. | |
VxdID | m_sensorIDPrev = VxdID(0) |
ID of the prewious sensor. | |
ROOT::Math::XYZVector | m_position = ROOT::Math::XYZVector() |
local coordinates of the hit position (u, v, w) | |
ROOT::Math::XYZVector | m_residual_um = ROOT::Math::XYZVector() |
unbiased residual for the hit in micrometers in local coordinates (u, v, w) | |
ROOT::Math::XYZVector | m_globalResidual_um = ROOT::Math::XYZVector() |
unbiased residual for the hit in micrometers in global coordinates (x, y, z) | |
float | m_phi_deg = .0 |
global phi in degrees of the hit | |
float | m_phiPrev_deg = .0 |
global phi in degrees of the previous hit | |
float | m_theta_deg = .0 |
global theta in degrees of the hit | |
float | m_thetaPrev_deg = .0 |
global theta in degrees of the previous hit | |
int | m_layerNumber = 0 |
number of the layer of the hit | |
int | m_layerNumberPrev = 0 |
number of the layer of the previous hit | |
int | m_layerIndex = 0 |
index of the layer of the hit | |
int | m_correlationIndex = 0 |
index of the layer of the previous hit | |
int | m_sensorIndex = 0 |
index of the sensor of the hit | |
The purpose of this class is to process one event() in DQMHistoModuleBase, which is a base for TrackDQMModule and AlignDQMModule.
This class is a base for TrackDQMEventProcessor and AlignDQMEventProcessor.
After instance of this class is created via constructor its only public function Run() should be called to process the event.
This class doesn't actually fill the histograms but it calls Fill- functions on given DQMHistoModuleBase instead.
All functions of this class are supposed to be virtual so they can be overridden in derived classes.
Definition at line 29 of file DQMEventProcessorBase.h.
|
inline |
Constructor.
histoModule | - DQMHistoModuleBase or derived module on which the Fill- functions are called. |
recoTracksStoreArrayName | - StoreArray name where the merged RecoTracks are written. |
tracksStoreArrayName | - StoreArray name where the merged Tracks are written. |
runningOnHLT | - true if the module runs on HLT |
Definition at line 37 of file DQMEventProcessorBase.h.
|
protectedvirtual |
Compute variables which are common for PXD and SVD hit.
Definition at line 212 of file DQMEventProcessorBase.cc.
|
protectedvirtual |
Make debug message with information about RecoTrack.
Used in ProcessTrack function.
Definition at line 88 of file DQMEventProcessorBase.cc.
|
protectedvirtual |
Fill histograms which are common for PXD and SVD hit.
Reimplemented in AlignDQMEventProcessor.
Definition at line 229 of file DQMEventProcessorBase.cc.
|
protectedvirtual |
Fill histograms with values derived from TrackFitResult.
Definition at line 103 of file DQMEventProcessorBase.cc.
|
staticprotected |
Returns true if sensor with given ladderNumber and layerNumber isn't in the Mat half-shell, therefore it should be in the Pat half-shell if it's from SVD detector.
Returns false if the sensor is int the Mat.
Possible combinations of parameters for Mat:
| layerNumber | ladderNumber | | 3 | 3, 4, 5 | | 4 | 4, 5, 6, 7, 8 | | 5 | 5, 6, 7, 8, 9, 10 | | 6 | 6, 7, 8, 9, 10, 11, 12, 13 |
Definition at line 261 of file DQMEventProcessorBase.cc.
|
staticprotected |
Returns true if sensor with given ladderNumber and layerNumber isn't in the Yang half-shell, therefore it should be in the Yin half-shell if it's from PXD detector.
Returns false if the sensor is in the Yang.
Possible combinations of parameters for Yang:
| layerNumber | ladderNumber | | 1 | 5, 6, 7, 8 | | 2 | 7, 8, 9, 10, 11, 12 |
Definition at line 249 of file DQMEventProcessorBase.cc.
|
protectedvirtual |
Compute position in a PXD way.
Then compute some other variables and fill some histograms.
Definition at line 157 of file DQMEventProcessorBase.cc.
|
protectedvirtual |
Compute unbiased residual and the calls ProcesPXDRecoHit or ProcessSVDRecoHit.
Definition at line 124 of file DQMEventProcessorBase.cc.
|
protectedvirtual |
Continue track processing by calling ProcessRecoHit function on each RecoHitInformation in given RecoHit.
Definition at line 112 of file DQMEventProcessorBase.cc.
|
protectedvirtual |
Compute position in a SVD way which means we need two consecutive hits to be from the same sensor to get both u and v coordinates.
Then, if this condition is met and we have complete information about position, we can continue in a similar way as the ProcessPXDRecoHit function does.
Definition at line 180 of file DQMEventProcessorBase.cc.
|
protectedvirtual |
Find RecoTrack for given track.
Calls ProcessSuccesfulFit if the RecoTrack has a successful fit.
Definition at line 49 of file DQMEventProcessorBase.cc.
|
inline |
Call this if you want to produce 1D Track Residual plots for each VXD sensor.
Definition at line 51 of file DQMEventProcessorBase.h.
|
inline |
Call this if you want to produce 2D Track Residual plots for each VXD sensor.
Definition at line 53 of file DQMEventProcessorBase.h.
|
inline |
Call this if you want to produce 2D Track-Related Cluster plots.
Definition at line 55 of file DQMEventProcessorBase.h.
|
virtual |
Call this to start processing the event data and filling histograms.
Calls ProcessTrack function for each track in store array.
Definition at line 18 of file DQMEventProcessorBase.cc.
|
protectedvirtual |
Set the value of -Prev values which are common for PXD and SVD hit.
Definition at line 242 of file DQMEventProcessorBase.cc.
|
protected |
index of the layer of the previous hit
Definition at line 167 of file DQMEventProcessorBase.h.
|
protected |
unbiased residual for the hit in micrometers in global coordinates (x, y, z)
Definition at line 151 of file DQMEventProcessorBase.h.
|
protected |
DQM histogram module on which the Fill- functions are called to fill histograms.
Definition at line 107 of file DQMEventProcessorBase.h.
|
protected |
Determines if the hit is not the first hit in the current track.
Definition at line 137 of file DQMEventProcessorBase.h.
|
protected |
index of track (with valid TrackFitResult and related RecoTrack)
Definition at line 126 of file DQMEventProcessorBase.h.
|
protected |
index of track where are CDC hits and aren't VXD hits (with valid TrackFitResult and related RecoTrack)
Definition at line 130 of file DQMEventProcessorBase.h.
|
protected |
index of track where are VXD hits and aren't CDC hits (with valid TrackFitResult and related RecoTrack)
Definition at line 128 of file DQMEventProcessorBase.h.
|
protected |
index of track where are both VXD hits and CDC hits (with valid TrackFitResult and related RecoTrack)
Definition at line 132 of file DQMEventProcessorBase.h.
|
protected |
index of the layer of the hit
Definition at line 165 of file DQMEventProcessorBase.h.
|
protected |
number of the layer of the hit
Definition at line 161 of file DQMEventProcessorBase.h.
|
protected |
number of the layer of the previous hit
Definition at line 163 of file DQMEventProcessorBase.h.
|
protected |
global phi in degrees of the hit
Definition at line 153 of file DQMEventProcessorBase.h.
|
protected |
global phi in degrees of the previous hit
Definition at line 155 of file DQMEventProcessorBase.h.
|
protected |
local coordinates of the hit position (u, v, w)
Definition at line 147 of file DQMEventProcessorBase.h.
|
protected |
if true, produce 1D Track residuals plots for each VXD sensor
Definition at line 117 of file DQMEventProcessorBase.h.
|
protected |
if true, produce 2D Track residuals plots for each VXD sensor
Definition at line 120 of file DQMEventProcessorBase.h.
|
protected |
if true, produce 2D Track-Related Cluster plots
Definition at line 123 of file DQMEventProcessorBase.h.
|
protected |
unbiased residual for the hit obtained from the sensor so its length is different for PXD and SVD sensors
Definition at line 140 of file DQMEventProcessorBase.h.
|
protected |
RecoTrack related to currently processed Track.
Definition at line 135 of file DQMEventProcessorBase.h.
|
protected |
StoreArray name where RecoTracks are written.
Definition at line 111 of file DQMEventProcessorBase.h.
|
protected |
unbiased residual for the hit in micrometers in local coordinates (u, v, w)
Definition at line 149 of file DQMEventProcessorBase.h.
|
protected |
true if the DQM is run on HLT
Definition at line 114 of file DQMEventProcessorBase.h.
ID of the current sensor.
Definition at line 142 of file DQMEventProcessorBase.h.
ID of the prewious sensor.
Definition at line 144 of file DQMEventProcessorBase.h.
|
protected |
index of the sensor of the hit
Definition at line 169 of file DQMEventProcessorBase.h.
|
protected |
global theta in degrees of the hit
Definition at line 157 of file DQMEventProcessorBase.h.
|
protected |
global theta in degrees of the previous hit
Definition at line 159 of file DQMEventProcessorBase.h.
|
protected |
StoreArray name where Tracks are written.
Definition at line 109 of file DQMEventProcessorBase.h.