Belle II Software  release-08-01-10
DQMEventProcessorBase Class Reference

The purpose of this class is to process one event() in DQMHistoModuleBase, which is a base for TrackDQMModule and AlignDQMModule. More...

#include <DQMEventProcessorBase.h>

Inheritance diagram for DQMEventProcessorBase:
Collaboration diagram for DQMEventProcessorBase:

Public Member Functions

 DQMEventProcessorBase (DQMHistoModuleBase *histoModule, const std::string &recoTracksStoreArrayName, const std::string &tracksStoreArrayName, bool runningOnHLT=false)
 Constructor. More...
 
virtual void Run ()
 Call this to start processing the event data and filling histograms. More...
 
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.
 

Protected Member Functions

virtual void ProcessTrack (const Track &track)
 Find RecoTrack for given track. More...
 
virtual TString ConstructMessage (const TrackFitResult *trackFitResult, int nPXDClusters, int nSVDClusters, int nCDCHits)
 Make debug message with information about RecoTrack. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Protected Attributes

DQMHistoModuleBasem_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
 
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)
 
RecoTrackm_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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ DQMEventProcessorBase()

DQMEventProcessorBase ( DQMHistoModuleBase histoModule,
const std::string &  recoTracksStoreArrayName,
const std::string &  tracksStoreArrayName,
bool  runningOnHLT = false 
)
inline

Constructor.

Parameters
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.

38  :
39  m_tracksStoreArrayName(tracksStoreArrayName),
40  m_recoTracksStoreArrayName(recoTracksStoreArrayName),
41  m_runningOnHLT(runningOnHLT)
42  {
43  m_histoModule = histoModule;
44  }
std::string m_tracksStoreArrayName
StoreArray name where Tracks are written.
bool m_runningOnHLT
true if the DQM is run on HLT
std::string m_recoTracksStoreArrayName
StoreArray name where RecoTracks are written.
DQMHistoModuleBase * m_histoModule
DQM histogram module on which the Fill- functions are called to fill histograms.

Member Function Documentation

◆ ConstructMessage()

TString ConstructMessage ( const TrackFitResult trackFitResult,
int  nPXDClusters,
int  nSVDClusters,
int  nCDCHits 
)
protectedvirtual

Make debug message with information about RecoTrack.

Used in ProcessTrack function.

Definition at line 88 of file DQMEventProcessorBase.cc.

◆ IsNotMat()

bool IsNotMat ( int  ladderNumber,
int  layerNumber 
)
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 256 of file DQMEventProcessorBase.cc.

◆ IsNotYang()

bool IsNotYang ( int  ladderNumber,
int  layerNumber 
)
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 244 of file DQMEventProcessorBase.cc.

◆ ProcessPXDRecoHit()

void ProcessPXDRecoHit ( RecoHitInformation recoHitInfo)
protectedvirtual

Compute position in a PXD way.

Then compute some other variables and fill some histograms.

Definition at line 154 of file DQMEventProcessorBase.cc.

◆ ProcessSVDRecoHit()

void ProcessSVDRecoHit ( RecoHitInformation recoHitInfo)
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 177 of file DQMEventProcessorBase.cc.

◆ ProcessTrack()

void ProcessTrack ( const Track track)
protectedvirtual

Find RecoTrack for given track.

Calls ProcessSuccesfulFit if the RecoTrack has a successful fit.

Definition at line 49 of file DQMEventProcessorBase.cc.

◆ Run()

void Run ( )
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.


The documentation for this class was generated from the following files: