Belle II Software  release-05-02-19
TrackDQMModule Class Reference

DQM of tracks their momentum, Number of hits in tracks, Number of tracks. More...

#include <TrackDQMModule.h>

Inheritance diagram for TrackDQMModule:
Collaboration diagram for TrackDQMModule:

Public Types

enum  EModulePropFlags {
  c_Input = 1,
  c_Output = 2,
  c_ParallelProcessingCertified = 4,
  c_HistogramManager = 8,
  c_InternalSerializer = 16,
  c_TerminateInAllProcesses = 32,
  c_DontCollectStatistics = 64
}
 Each module can be tagged with property flags, which indicate certain features of the module. More...
 
typedef ModuleCondition::EAfterConditionPath EAfterConditionPath
 Forward the EAfterConditionPath definition from the ModuleCondition.
 

Public Member Functions

 TrackDQMModule ()
 Constructor.
 
void initialize () override final
 Module functions.
 
void beginRun () override final
 Function to process begin_run record.
 
void event () override final
 Function to process event record.
 
void defineHisto () override final
 Histogram definitions such as TH1(), TH2(), TNtuple(), TTree().... More...
 
virtual void endRun () override
 Function to process end_run record.
 
virtual void terminate () override
 Function to terminate module.
 
virtual std::vector< std::string > getFileNames (__attribute__((unused)) bool outputFiles)
 Return a list of output filenames for this modules. More...
 
const std::string & getName () const
 Returns the name of the module. More...
 
const std::string & getType () const
 Returns the type of the module (i.e. More...
 
const std::string & getPackage () const
 Returns the package this module is in.
 
const std::string & getDescription () const
 Returns the description of the module.
 
void setName (const std::string &name)
 Set the name of the module. More...
 
void setPropertyFlags (unsigned int propertyFlags)
 Sets the flags for the module properties. More...
 
LogConfiggetLogConfig ()
 Returns the log system configuration.
 
void setLogConfig (const LogConfig &logConfig)
 Set the log system configuration.
 
void setLogLevel (int logLevel)
 Configure the log level.
 
void setDebugLevel (int debugLevel)
 Configure the debug messaging level.
 
void setAbortLevel (int abortLevel)
 Configure the abort log level.
 
void setLogInfo (int logLevel, unsigned int logInfo)
 Configure the printed log information for the given level. More...
 
void if_value (const std::string &expression, const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 Add a condition to the module. More...
 
void if_false (const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 A simplified version to add a condition to the module. More...
 
void if_true (const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 A simplified version to set the condition of the module. More...
 
bool hasCondition () const
 Returns true if at least one condition was set for the module.
 
const ModuleConditiongetCondition () const
 Return a pointer to the first condition (or nullptr, if none was set)
 
const std::vector< ModuleCondition > & getAllConditions () const
 Return all set conditions for this module.
 
bool evalCondition () const
 If at least one condition was set, it is evaluated and true returned if at least one condition returns true. More...
 
std::shared_ptr< PathgetConditionPath () const
 Returns the path of the last true condition (if there is at least one, else reaturn a null pointer). More...
 
Module::EAfterConditionPath getAfterConditionPath () const
 What to do after the conditional path is finished. More...
 
std::vector< std::shared_ptr< Path > > getAllConditionPaths () const
 Return all condition paths currently set (no matter if the condition is true or not).
 
bool hasProperties (unsigned int propertyFlags) const
 Returns true if all specified property flags are available in this module. More...
 
bool hasUnsetForcedParams () const
 Returns true and prints error message if the module has unset parameters which the user has to set in the steering file.
 
const ModuleParamListgetParamList () const
 Return module param list.
 
template<typename T >
ModuleParam< T > & getParam (const std::string &name) const
 Returns a reference to a parameter. More...
 
bool hasReturnValue () const
 Return true if this module has a valid return value set.
 
int getReturnValue () const
 Return the return value set by this module. More...
 
std::shared_ptr< PathElementclone () const override
 Create an independent copy of this module. More...
 
std::shared_ptr< boost::python::list > getParamInfoListPython () const
 Returns a python list of all parameters. More...
 

Static Public Member Functions

static void exposePythonAPI ()
 Exposes methods of the Module class to Python.
 

Protected Member Functions

virtual void def_initialize ()
 Wrappers to make the methods without "def_" prefix callable from Python. More...
 
virtual void def_beginRun ()
 Wrapper method for the virtual function beginRun() that has the implementation to be used in a call from Python.
 
virtual void def_event ()
 Wrapper method for the virtual function event() that has the implementation to be used in a call from Python.
 
virtual void def_endRun ()
 This method can receive that the current run ends as a call from the Python side. More...
 
virtual void def_terminate ()
 Wrapper method for the virtual function terminate() that has the implementation to be used in a call from Python.
 
void setDescription (const std::string &description)
 Sets the description of the module. More...
 
void setType (const std::string &type)
 Set the module type. More...
 
template<typename T >
void addParam (const std::string &name, T &paramVariable, const std::string &description, const T &defaultValue)
 Adds a new parameter to the module. More...
 
template<typename T >
void addParam (const std::string &name, T &paramVariable, const std::string &description)
 Adds a new enforced parameter to the module. More...
 
void setReturnValue (int value)
 Sets the return value for this module as integer. More...
 
void setReturnValue (bool value)
 Sets the return value for this module as bool. More...
 
void setParamList (const ModuleParamList &params)
 Replace existing parameter list.
 

Private Member Functions

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 Ying half-shell if it's from PXD detector. More...
 
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...
 
std::list< ModulePtrgetModules () const override
 no submodules, return empty list
 
std::string getPathString () const override
 return the module name.
 
void setParamPython (const std::string &name, const boost::python::object &pyObj)
 Implements a method for setting boost::python objects. More...
 
void setParamPythonDict (const boost::python::dict &dictionary)
 Implements a method for reading the parameter values from a boost::python dictionary. More...
 

Private Attributes

std::string m_TracksStoreArrayName
 StoreArray name where Tracks are written.
 
std::string m_RecoTracksStoreArrayName
 StoreArray name where RecoTracks are written.
 
TH1F * m_PValue = nullptr
 p Value
 
TH1F * m_Chi2 = nullptr
 Chi2.
 
TH1F * m_NDF = nullptr
 NDF.
 
TH1F * m_Chi2NDF = nullptr
 Chi2 / NDF.
 
TH2F * m_UBResidualsPXD = nullptr
 Unbiased residuals for PXD u vs v.
 
TH2F * m_UBResidualsSVD = nullptr
 Unbiased residuals for SVD u vs v.
 
TH2F ** m_UBResidualsSensor = nullptr
 Unbiased residuals for PXD and SVD u vs v per sensor.
 
TH1F * m_UBResidualsPXDU = nullptr
 Unbiased residuals for PXD u.
 
TH1F * m_UBResidualsSVDU = nullptr
 Unbiased residuals for SVD u.
 
TH1F ** m_UBResidualsSensorU = nullptr
 Unbiased residuals for PXD and SVD u per sensor.
 
TH1F * m_UBResidualsPXDV = nullptr
 Unbiased residuals for PXD v.
 
TH1F * m_UBResidualsSVDV = nullptr
 Unbiased residuals for SVD v.
 
TH1F * m_UBResidualsPXDX_Ying = nullptr
 Unbiased residuals in X for PXD for Ying.
 
TH1F * m_UBResidualsPXDX_Yang = nullptr
 Unbiased residuals in X for PXD for Yang.
 
TH1F * m_UBResidualsSVDX_Pat = nullptr
 Unbiased residuals in X for SVD for Pat.
 
TH1F * m_UBResidualsSVDX_Mat = nullptr
 Unbiased residuals in X for SVD for Mat.
 
TH1F * m_UBResidualsPXDY_Ying = nullptr
 Unbiased residuals in Y for PXD for Ying.
 
TH1F * m_UBResidualsPXDY_Yang = nullptr
 Unbiased residuals in Y for PXD for Yang.
 
TH1F * m_UBResidualsSVDY_Pat = nullptr
 Unbiased residuals in Y for SVD for Pat.
 
TH1F * m_UBResidualsSVDY_Mat = nullptr
 Unbiased residuals in Y for SVD for Mat.
 
TH1F * m_UBResidualsPXDZ_Ying = nullptr
 Unbiased residuals in Z for PXD for Ying.
 
TH1F * m_UBResidualsPXDZ_Yang = nullptr
 Unbiased residuals in Z for PXD for Yang.
 
TH1F * m_UBResidualsSVDZ_Pat = nullptr
 Unbiased residuals in Z for SVD for Pat.
 
TH1F * m_UBResidualsSVDZ_Mat = nullptr
 Unbiased residuals in Z for SVD for Mat.
 
TH1F ** m_UBResidualsSensorV = nullptr
 Unbiased residuals for PXD and SVD v per sensor.
 
TH2F ** m_TRClusterHitmap = nullptr
 Track related clusters - hitmap in IP angle range.
 
TH2F ** m_TRClusterCorrelationsPhi = nullptr
 Track related clusters - neighbor corelations in Phi.
 
TH2F ** m_TRClusterCorrelationsTheta = nullptr
 Track related clusters - neighbor corelations in Theta.
 
TH1F * m_MomPhi = nullptr
 Track momentum Pt.Phi.
 
TH1F * m_MomCosTheta = nullptr
 Track momentum Pt.CosTheta.
 
TH1F * m_MomX = nullptr
 Track momentum Pt.X.
 
TH1F * m_MomY = nullptr
 Track momentum Pt.Y.
 
TH1F * m_MomZ = nullptr
 Track momentum Pt.Z.
 
TH1F * m_MomPt = nullptr
 Track momentum Pt.
 
TH1F * m_Mom = nullptr
 Track momentum Magnitude.
 
TH1F * m_D0 = nullptr
 d0 - the signed distance to the IP in the r-phi plane
 
TH2F * m_D0Phi = nullptr
 d0 vs Phi - the signed distance to the IP in the r-phi plane
 
TH1F * m_Z0 = nullptr
 z0 - the z0 coordinate of the perigee (beam spot position)
 
TH2F * m_D0Z0 = nullptr
 z0 vs d0 - signed distance to the IP in r-phi vs. More...
 
TH1F * m_Phi = nullptr
 Phi - the angle of the transverse momentum in the r-phi plane, with CDF naming convention.
 
TH1F * m_TanLambda = nullptr
 TanLambda - the slope of the track in the r-z plane.
 
TH1F * m_Omega = nullptr
 Omega - the curvature of the track. More...
 
TH1F * m_HitsPXD = nullptr
 Number of hits on PXD.
 
TH1F * m_HitsSVD = nullptr
 Number of hits on SVD.
 
TH1F * m_HitsCDC = nullptr
 Number of hits on CDC.
 
TH1F * m_Hits = nullptr
 Number of all hits in tracks.
 
TH1F * m_TracksVXD = nullptr
 Number of tracks only with VXD.
 
TH1F * m_TracksCDC = nullptr
 Number of tracks only with CDC.
 
TH1F * m_TracksVXDCDC = nullptr
 Number of full tracks with VXD+CDC.
 
TH1F * m_Tracks = nullptr
 Number of all finding tracks.
 
TH1F * m_trackingErrorFlags = nullptr
 Monitors the Error flags set by the tracking code. More...
 
StoreObjPtr< EventLevelTrackingInfom_eventLevelTrackingInfo
 Acccess to the EventLevelTrackingInfo object in the datastore.
 
std::string m_name
 The name of the module, saved as a string (user-modifiable)
 
std::string m_type
 The type of the module, saved as a string.
 
std::string m_package
 Package this module is found in (may be empty).
 
std::string m_description
 The description of the module.
 
unsigned int m_propertyFlags
 The properties of the module as bitwise or (with |) of EModulePropFlags.
 
LogConfig m_logConfig
 The log system configuration of the module.
 
ModuleParamList m_moduleParamList
 List storing and managing all parameter of the module.
 
bool m_hasReturnValue
 True, if the return value is set.
 
int m_returnValue
 The return value.
 
std::vector< ModuleConditionm_conditions
 Module condition, only non-null if set.
 

Detailed Description

DQM of tracks their momentum, Number of hits in tracks, Number of tracks.

Definition at line 49 of file TrackDQMModule.h.

Member Enumeration Documentation

◆ EModulePropFlags

enum EModulePropFlags
inherited

Each module can be tagged with property flags, which indicate certain features of the module.

Enumerator
c_Input 

This module is an input module (reads data).

c_Output 

This module is an output module (writes data).

c_ParallelProcessingCertified 

This module can be run in parallel processing mode safely (All I/O must be done through the data store, in particular, the module must not write any files.)

c_HistogramManager 

This module is used to manage histograms accumulated by other modules.

c_InternalSerializer 

This module is an internal serializer/deserializer for parallel processing.

c_TerminateInAllProcesses 

When using parallel processing, call this module's terminate() function in all processes().

This will also ensure that there is exactly one process (single-core if no parallel modules found) or at least one input, one main and one output process.

c_DontCollectStatistics 

No statistics is collected for this module.

Definition at line 79 of file Module.h.

Member Function Documentation

◆ clone()

std::shared_ptr< PathElement > clone ( ) const
overridevirtualinherited

Create an independent copy of this module.

Note that parameters are shared, so changing them on a cloned module will also affect the original module.

Implements PathElement.

Definition at line 181 of file Module.cc.

◆ def_endRun()

virtual void def_endRun ( )
inlineprotectedvirtualinherited

This method can receive that the current run ends as a call from the Python side.

For regular C++-Modules that forwards the call to the regular endRun() method.

Reimplemented in PyModule.

Definition at line 441 of file Module.h.

◆ def_initialize()

virtual void def_initialize ( )
inlineprotectedvirtualinherited

Wrappers to make the methods without "def_" prefix callable from Python.

Overridden in PyModule. Wrapper method for the virtual function initialize() that has the implementation to be used in a call from Python.

Reimplemented in PyModule.

Definition at line 422 of file Module.h.

◆ defineHisto()

void defineHisto ( )
finaloverridevirtual

Histogram definitions such as TH1(), TH2(), TNtuple(), TTree()....

are supposed to be placed in this function.

p Value

Chi2

NDF

Chi2 / NDF

Unbiased residuals for PXD u vs v

Unbiased residuals for SVD u vs v

Unbiased residuals for PXD u, v

Unbiased residuals for SVD u, v

Track related clusters - hitmap in IP angle range

Track related clusters - neighbor corelations in Phi

Track related clusters - neighbor corelations in Theta

Unbiased residuals for PXD u vs v per sensor

Reimplemented from HistoModule.

Definition at line 82 of file TrackDQMModule.cc.

83 {
84 
85  auto gTools = VXD::GeoCache::getInstance().getGeoTools();
86  if (gTools->getNumberOfLayers() == 0) {
87  B2WARNING("Missing geometry for VXD.");
88  }
89 
90  // basic constants presets:
91  int nVXDLayers = gTools->getNumberOfLayers();
92  int nVXDSensors = gTools->getNumberOfSensors();
93  float ResidualRange = 400; // in um
95 
96  // Create a separate histogram directories and cd into it.
97  TDirectory* oldDir = gDirectory;
98 
99 // There might be problems with nullptr if the directory with the same name already exists (but I am not sure because there isn't anything like that in AlignmentDQM)
100  TDirectory* TracksDQM = oldDir->GetDirectory("TracksDQM");
101  if (!TracksDQM)
102  TracksDQM = oldDir->mkdir("TracksDQM");
103 
104  TDirectory* TracksDQMAlignment = oldDir->GetDirectory("TracksDQMAlignment");
105  if (!TracksDQMAlignment)
106  TracksDQMAlignment = oldDir->mkdir("TracksDQMAlignment");
107 
108  // half-shells
109  TDirectory* HalfShells = TracksDQM->GetDirectory("HalfShells");
110  if (!HalfShells)
111  HalfShells = TracksDQM->mkdir("HalfShells");
112 
113  TracksDQM->cd();
114 
115  // Momentum Phi
116  string name = str(format("MomPhi"));
117  string title = str(format("Momentum Phi of fit"));
118  m_MomPhi = new TH1F(name.c_str(), title.c_str(), 180, -180, 180);
119  m_MomPhi->GetXaxis()->SetTitle("Mom Phi [deg]");
120  m_MomPhi->GetYaxis()->SetTitle("counts");
121  // Momentum CosTheta
122  name = str(format("MomCosTheta"));
123  title = str(format("Cos of Momentum Theta of fit"));
124  m_MomCosTheta = new TH1F(name.c_str(), title.c_str(), 100, -1, 1);
125  m_MomCosTheta->GetXaxis()->SetTitle("Mom CosTheta");
126  m_MomCosTheta->GetYaxis()->SetTitle("counts");
127 
129  name = str(format("PValue"));
130  title = str(format("P value of fit"));
131  m_PValue = new TH1F(name.c_str(), title.c_str(), 100, 0, 1);
132  m_PValue->GetXaxis()->SetTitle("p value");
133  m_PValue->GetYaxis()->SetTitle("counts");
135  name = str(format("Chi2"));
136  title = str(format("Chi2 of fit"));
137  m_Chi2 = new TH1F(name.c_str(), title.c_str(), 200, 0, 150);
138  m_Chi2->GetXaxis()->SetTitle("Chi2");
139  m_Chi2->GetYaxis()->SetTitle("counts");
141  name = str(format("NDF"));
142  title = str(format("NDF of fit"));
143  m_NDF = new TH1F(name.c_str(), title.c_str(), 200, 0, 200);
144  m_NDF->GetXaxis()->SetTitle("NDF");
145  m_NDF->GetYaxis()->SetTitle("counts");
147  name = str(format("Chi2NDF"));
148  title = str(format("Chi2 div NDF of fit"));
149  m_Chi2NDF = new TH1F(name.c_str(), title.c_str(), 200, 0, 10);
150  m_Chi2NDF->GetXaxis()->SetTitle("Chi2NDF");
151  m_Chi2NDF->GetYaxis()->SetTitle("counts");
152 
154  name = str(format("UBResidualsPXD"));
155  title = str(format("Unbiased residuals for PXD"));
156  m_UBResidualsPXD = new TH2F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange, 200, -ResidualRange, ResidualRange);
157  m_UBResidualsPXD->GetXaxis()->SetTitle("u residual [#mum]");
158  m_UBResidualsPXD->GetYaxis()->SetTitle("v residual [#mum]");
159  m_UBResidualsPXD->GetZaxis()->SetTitle("counts");
161  name = str(format("UBResidualsSVD"));
162  title = str(format("Unbiased residuals for SVD"));
163  m_UBResidualsSVD = new TH2F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange, 200, -ResidualRange, ResidualRange);
164  m_UBResidualsSVD->GetXaxis()->SetTitle("u residual [#mum]");
165  m_UBResidualsSVD->GetYaxis()->SetTitle("v residual [#mum]");
166  m_UBResidualsSVD->GetZaxis()->SetTitle("counts");
168  name = str(format("UBResidualsPXDU"));
169  title = str(format("Unbiased residuals in U for PXD"));
170  m_UBResidualsPXDU = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
171  m_UBResidualsPXDU->GetXaxis()->SetTitle("residual [#mum]");
172  m_UBResidualsPXDU->GetYaxis()->SetTitle("counts");
173  name = str(format("UBResidualsPXDV"));
174  title = str(format("Unbiased residuals in V for PXD"));
175  m_UBResidualsPXDV = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
176  m_UBResidualsPXDV->GetXaxis()->SetTitle("residual [#mum]");
177  m_UBResidualsPXDV->GetYaxis()->SetTitle("counts");
179  name = str(format("UBResidualsSVDU"));
180  title = str(format("Unbiased residuals in U for SVD"));
181  m_UBResidualsSVDU = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
182  m_UBResidualsSVDU->GetXaxis()->SetTitle("residual [#mum]");
183  m_UBResidualsSVDU->GetYaxis()->SetTitle("counts");
184  name = str(format("UBResidualsSVDV"));
185  title = str(format("Unbiased residuals in V for SVD"));
186  m_UBResidualsSVDV = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
187  m_UBResidualsSVDV->GetXaxis()->SetTitle("residual [#mum]");
188  m_UBResidualsSVDV->GetYaxis()->SetTitle("counts");
189 
190  // half-shells
191  HalfShells->cd();
192 
193  // X
194  // Unbiased residuals in X for PXD for Ying
195  name = "Alig_UBResidualsPXDX_Ying";
196  title = "Unbiased residuals in X for PXD for Ying";
197  m_UBResidualsPXDX_Ying = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
198  m_UBResidualsPXDX_Ying->GetXaxis()->SetTitle("residual [#mum]");
199  m_UBResidualsPXDX_Ying->GetYaxis()->SetTitle("counts");
200 
201  // Unbiased residuals in X for PXD for Yang
202  name = "Alig_UBResidualsPXDX_Yang";
203  title = "Unbiased residuals in X for PXD for Yang";
204  m_UBResidualsPXDX_Yang = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
205  m_UBResidualsPXDX_Yang->GetXaxis()->SetTitle("residual [#mum]");
206  m_UBResidualsPXDX_Yang->GetYaxis()->SetTitle("counts");
207 
208  // Unbiased residuals in X for SVD for Pat
209  name = "Alig_UBResidualsSVDX_Pat";
210  title = "Unbiased residuals in X for SVD for Pat";
211  m_UBResidualsSVDX_Pat = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
212  m_UBResidualsSVDX_Pat->GetXaxis()->SetTitle("residual [#mum]");
213  m_UBResidualsSVDX_Pat->GetYaxis()->SetTitle("counts");
214 
215  // Unbiased residuals in X for SVD for Mat
216  name = "Alig_UBResidualsSVDX_Mat";
217  title = "Unbiased residuals in X for SVD for Mat";
218  m_UBResidualsSVDX_Mat = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
219  m_UBResidualsSVDX_Mat->GetXaxis()->SetTitle("residual [#mum]");
220  m_UBResidualsSVDX_Mat->GetYaxis()->SetTitle("counts");
221 
222  // Y
223  // Unbiased residuals in Y for PXD for Ying
224  name = "Alig_UBResidualsPXDY_Ying";
225  title = "Unbiased residuals in Y for PXD for Ying";
226  m_UBResidualsPXDY_Ying = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
227  m_UBResidualsPXDY_Ying->GetXaxis()->SetTitle("residual [#mum]");
228  m_UBResidualsPXDY_Ying->GetYaxis()->SetTitle("counts");
229 
230  // Unbiased residuals in Y for PXD for Yang
231  name = "Alig_UBResidualsPXDY_Yang";
232  title = "Unbiased residuals in Y for PXD for Yang";
233  m_UBResidualsPXDY_Yang = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
234  m_UBResidualsPXDY_Yang->GetXaxis()->SetTitle("residual [#mum]");
235  m_UBResidualsPXDY_Yang->GetYaxis()->SetTitle("counts");
236 
237  // Unbiased residuals in Y for SVD for Pat
238  name = "Alig_UBResidualsSVDY_Pat";
239  title = "Unbiased residuals in Y for SVD for Pat";
240  m_UBResidualsSVDY_Pat = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
241  m_UBResidualsSVDY_Pat->GetXaxis()->SetTitle("residual [#mum]");
242  m_UBResidualsSVDY_Pat->GetYaxis()->SetTitle("counts");
243 
244  // Unbiased residuals in Y for SVD for Mat
245  name = "Alig_UBResidualsSVDY_Mat";
246  title = "Unbiased residuals in Y for SVD for Mat";
247  m_UBResidualsSVDY_Mat = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
248  m_UBResidualsSVDY_Mat->GetXaxis()->SetTitle("residual [#mum]");
249  m_UBResidualsSVDY_Mat->GetYaxis()->SetTitle("counts");
250 
251  // Z
252  // Unbiased residuals in Z for PXD for Ying
253  name = "Alig_UBResidualsPXDZ_Ying";
254  title = "Unbiased residuals in Z for PXD for Ying";
255  m_UBResidualsPXDZ_Ying = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
256  m_UBResidualsPXDZ_Ying->GetXaxis()->SetTitle("residual [#mum]");
257  m_UBResidualsPXDZ_Ying->GetYaxis()->SetTitle("counts");
258 
259  // Unbiased residuals in Z for PXD for Yang
260  name = "Alig_UBResidualsPXDZ_Yang";
261  title = "Unbiased residuals in Z for PXD for Yang";
262  m_UBResidualsPXDZ_Yang = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
263  m_UBResidualsPXDZ_Yang->GetXaxis()->SetTitle("residual [#mum]");
264  m_UBResidualsPXDZ_Yang->GetYaxis()->SetTitle("counts");
265 
266  // Unbiased residuals in Z for SVD for Pat
267  name = "Alig_UBResidualsSVDZ_Pat";
268  title = "Unbiased residuals in Z for SVD for Pat";
269  m_UBResidualsSVDZ_Pat = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
270  m_UBResidualsSVDZ_Pat->GetXaxis()->SetTitle("residual [#mum]");
271  m_UBResidualsSVDZ_Pat->GetYaxis()->SetTitle("counts");
272 
273  // Unbiased residuals in Z for SVD for Mat
274  name = "Alig_UBResidualsSVDZ_Mat";
275  title = "Unbiased residuals in Z for SVD for Mat";
276  m_UBResidualsSVDZ_Mat = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
277  m_UBResidualsSVDZ_Mat->GetXaxis()->SetTitle("residual [#mum]");
278  m_UBResidualsSVDZ_Mat->GetYaxis()->SetTitle("counts");
279 
280  TracksDQM->cd();
281 
282  m_MomX = nullptr;
283  m_MomY = nullptr;
284  m_MomZ = nullptr;
285  m_Mom = nullptr;
286  m_HitsPXD = nullptr;
287  m_HitsSVD = nullptr;
288  m_HitsCDC = nullptr;
289  m_Hits = nullptr;
290  m_TracksVXD = nullptr;
291  m_TracksCDC = nullptr;
292  m_TracksVXDCDC = nullptr;
293  m_Tracks = nullptr;
294 
295  int iHitsInPXD = 10;
296  int iHitsInSVD = 20;
297  int iHitsInCDC = 200;
298  int iHits = 200;
299  int iTracks = 30;
300  int iMomRange = 600;
301  float fMomRange = 6.0;
302  name = str(format("TrackMomentumX"));
303  title = str(format("Track Momentum X"));
304  m_MomX = new TH1F(name.c_str(), title.c_str(), 2 * iMomRange, -fMomRange, fMomRange);
305  m_MomX->GetXaxis()->SetTitle("Momentum");
306  m_MomX->GetYaxis()->SetTitle("counts");
307  name = str(format("TrackMomentumY"));
308  title = str(format("Track Momentum Y"));
309  m_MomY = new TH1F(name.c_str(), title.c_str(), 2 * iMomRange, -fMomRange, fMomRange);
310  m_MomY->GetXaxis()->SetTitle("Momentum");
311  m_MomY->GetYaxis()->SetTitle("counts");
312  name = str(format("TrackMomentumZ"));
313  title = str(format("Track Momentum Z"));
314  m_MomZ = new TH1F(name.c_str(), title.c_str(), 2 * iMomRange, -fMomRange, fMomRange);
315  m_MomZ->GetXaxis()->SetTitle("Momentum");
316  m_MomZ->GetYaxis()->SetTitle("counts");
317  name = str(format("TrackMomentumPt"));
318  title = str(format("Track Momentum pT"));
319  m_MomPt = new TH1F(name.c_str(), title.c_str(), 2 * iMomRange, 0.0, fMomRange);
320  m_MomPt->GetXaxis()->SetTitle("Momentum");
321  m_MomPt->GetYaxis()->SetTitle("counts");
322  name = str(format("TrackMomentumMag"));
323  title = str(format("Track Momentum Magnitude"));
324  m_Mom = new TH1F(name.c_str(), title.c_str(), 2 * iMomRange, 0.0, fMomRange);
325  m_Mom->GetXaxis()->SetTitle("Momentum");
326  m_Mom->GetYaxis()->SetTitle("counts");
327  name = str(format("TrackZ0"));
328  title = str(format("z0 - the z coordinate of the perigee (beam spot position)"));
329  m_Z0 = new TH1F(name.c_str(), title.c_str(), 200, -10.0, 10.0);
330  m_Z0->GetXaxis()->SetTitle("z0 [cm]");
331  m_Z0->GetYaxis()->SetTitle("Arb. Units");
332  name = str(format("TrackD0"));
333  title = str(format("d0 - the signed distance to the IP in the r-phi plane"));
334  m_D0 = new TH1F(name.c_str(), title.c_str(), 200, -1.0, 1.0);
335  m_D0->GetXaxis()->SetTitle("d0 [cm]");
336  m_D0->GetYaxis()->SetTitle("Arb. Units");
337  name = str(format("TrackD0Phi"));
338  title = str(format("d0 vs Phi - the signed distance to the IP in the r-phi plane"));
339  m_D0Phi = new TH2F(name.c_str(), title.c_str(), 72, -180.0, 180.0, 80, -0.4, 0.4);
340  m_D0Phi->GetXaxis()->SetTitle("#phi0 [deg]");
341  m_D0Phi->GetYaxis()->SetTitle("d0 [cm]");
342  m_D0Phi->GetZaxis()->SetTitle("Arb. Units");
343  name = str(format("TrackD0Z0"));
344  title = str(
345  format("z0 vs d0 - signed distance to the IP in r-phi vs. z0 of the perigee (to see primary vertex shifts along R or z)"));
346  m_D0Z0 = new TH2F(name.c_str(), title.c_str(), 200, -10.0, 10.0, 80, -0.4, 0.4);
347  m_D0Z0->GetXaxis()->SetTitle("z0 [cm]");
348  m_D0Z0->GetYaxis()->SetTitle("d0 [cm]");
349  m_D0Z0->GetZaxis()->SetTitle("Arb. Units");
350 
351  name = str(format("TrackPhi"));
352  title = str(format("Phi - angle of the transverse momentum in the r-phi plane, with CDF naming convention"));
353  m_Phi = new TH1F(name.c_str(), title.c_str(), 72, -180.0, 180.0);
354  m_Phi->GetXaxis()->SetTitle("#phi [deg]");
355  m_Phi->GetYaxis()->SetTitle("Arb. Units");
356  name = str(format("TrackTanLambda"));
357  title = str(format("TanLambda - the slope of the track in the r-z plane"));
358  m_TanLambda = new TH1F(name.c_str(), title.c_str(), 400, -4.0, 4.0);
359  m_TanLambda->GetXaxis()->SetTitle("Tan Lambda");
360  m_TanLambda->GetYaxis()->SetTitle("Arb. Units");
361  name = str(format("TrackOmega"));
362  title = str(format("Omega - the curvature of the track. It's sign is defined by the charge of the particle"));
363  m_Omega = new TH1F(name.c_str(), title.c_str(), 400, -0.1, 0.1);
364  m_Omega->GetXaxis()->SetTitle("Omega");
365  m_Omega->GetYaxis()->SetTitle("Arb. Units");
366 
367  name = str(format("NoOfHitsInTrack_PXD"));
368  title = str(format("No Of Hits In Track - PXD"));
369  m_HitsPXD = new TH1F(name.c_str(), title.c_str(), iHitsInPXD, 0, iHitsInPXD);
370  m_HitsPXD->GetXaxis()->SetTitle("# hits");
371  m_HitsPXD->GetYaxis()->SetTitle("counts");
372  name = str(format("NoOfHitsInTrack_SVD"));
373  title = str(format("No Of Hits In Track - SVD"));
374  m_HitsSVD = new TH1F(name.c_str(), title.c_str(), iHitsInSVD, 0, iHitsInSVD);
375  m_HitsSVD->GetXaxis()->SetTitle("# hits");
376  m_HitsSVD->GetYaxis()->SetTitle("counts");
377  name = str(format("NoOfHitsInTrack_CDC"));
378  title = str(format("No Of Hits In Track - CDC"));
379  m_HitsCDC = new TH1F(name.c_str(), title.c_str(), iHitsInCDC, 0, iHitsInCDC);
380  m_HitsCDC->GetXaxis()->SetTitle("# hits");
381  m_HitsCDC->GetYaxis()->SetTitle("counts");
382  name = str(format("NoOfHitsInTrack"));
383  title = str(format("No Of Hits In Track"));
384  m_Hits = new TH1F(name.c_str(), title.c_str(), iHits, 0, iHits);
385  m_Hits->GetXaxis()->SetTitle("# hits");
386  m_Hits->GetYaxis()->SetTitle("counts");
387 
388  name = str(format("NoOfTracksInVXDOnly"));
389  title = str(format("No Of Tracks Per Event, Only In VXD"));
390  m_TracksVXD = new TH1F(name.c_str(), title.c_str(), iTracks, 0, iTracks);
391  m_TracksVXD->GetXaxis()->SetTitle("# tracks");
392  m_TracksVXD->GetYaxis()->SetTitle("counts");
393  name = str(format("NoOfTracksInCDCOnly"));
394  title = str(format("No Of Tracks Per Event, Only In CDC"));
395  m_TracksCDC = new TH1F(name.c_str(), title.c_str(), iTracks, 0, iTracks);
396  m_TracksCDC->GetXaxis()->SetTitle("# tracks");
397  m_TracksCDC->GetYaxis()->SetTitle("counts");
398  name = str(format("NoOfTracksInVXDCDC"));
399  title = str(format("No Of Tracks Per Event, In VXD+CDC"));
400  m_TracksVXDCDC = new TH1F(name.c_str(), title.c_str(), iTracks, 0, iTracks);
401  m_TracksVXDCDC->GetXaxis()->SetTitle("# tracks");
402  m_TracksVXDCDC->GetYaxis()->SetTitle("counts");
403  name = str(format("NoOfTracks"));
404  title = str(format("No Of All Tracks Per Event"));
405  m_Tracks = new TH1F(name.c_str(), title.c_str(), iTracks, 0, iTracks);
406  m_Tracks->GetXaxis()->SetTitle("# tracks");
407  m_Tracks->GetYaxis()->SetTitle("counts");
408 
409  if (gTools->getNumberOfLayers() == 0) {
410  B2WARNING("Missing geometry for VXD, VXD-DQM related are skiped.");
411  return;
412  }
413 
414  m_TRClusterHitmap = (TH2F**) new TH2F*[nVXDLayers];
415  m_TRClusterCorrelationsPhi = (TH2F**) new TH2F*[nVXDLayers - 1];
416  m_TRClusterCorrelationsTheta = (TH2F**) new TH2F*[nVXDLayers - 1];
417  m_UBResidualsSensor = (TH2F**) new TH2F*[nVXDSensors];
418  m_UBResidualsSensorU = (TH1F**) new TH1F*[nVXDSensors];
419  m_UBResidualsSensorV = (TH1F**) new TH1F*[nVXDSensors];
420 
421  for (VxdID layer : geo.getLayers()) {
422  int i = layer.getLayerNumber();
423  int index = gTools->getLayerIndex(layer.getLayerNumber());
425  name = str(format("TRClusterHitmapLayer%1%") % i);
426  title = str(format("Cluster Hitmap for layer %1%") % i);
427  m_TRClusterHitmap[index] = new TH2F(name.c_str(), title.c_str(), 360, -180.0, 180.0, 180, 0.0, 180.0);
428  m_TRClusterHitmap[index]->GetXaxis()->SetTitle("Phi angle [deg]");
429  m_TRClusterHitmap[index]->GetYaxis()->SetTitle("Theta angle [deg]");
430  m_TRClusterHitmap[index]->GetZaxis()->SetTitle("counts");
431  }
432 
433 
434  for (VxdID layer : geo.getLayers()) {
435  int i = layer.getLayerNumber();
436  if (i == gTools->getLastLayer()) continue;
437  int index = gTools->getLayerIndex(layer.getLayerNumber());
439  name = str(format("CorrelationsPhiLayers_%1%_%2%") % i % (i + 1));
440  title = str(format("Correlations in Phi for Layers %1% %2%") % i % (i + 1));
441  m_TRClusterCorrelationsPhi[index] = new TH2F(name.c_str(), title.c_str(), 360, -180.0, 180.0, 360, -180.0, 180.0);
442  title = str(format("angle layer %1% [deg]") % i);
443  m_TRClusterCorrelationsPhi[index]->GetXaxis()->SetTitle(title.c_str());
444  title = str(format("angle layer %1% [deg]") % (i + 1));
445  m_TRClusterCorrelationsPhi[index]->GetYaxis()->SetTitle(title.c_str());
446  m_TRClusterCorrelationsPhi[index]->GetZaxis()->SetTitle("counts");
448  name = str(format("CorrelationsThetaLayers_%1%_%2%") % i % (i + 1));
449  title = str(format("Correlations in Theta for Layers %1% %2%") % i % (i + 1));
450  m_TRClusterCorrelationsTheta[index] = new TH2F(name.c_str(), title.c_str(), 180, 0.0, 180.0, 180, 0.0, 180.0);
451  title = str(format("angle layer %1% [deg]") % i);
452  m_TRClusterCorrelationsTheta[index]->GetXaxis()->SetTitle(title.c_str());
453  title = str(format("angle layer %1% [deg]") % (i + 1));
454  m_TRClusterCorrelationsTheta[index]->GetYaxis()->SetTitle(title.c_str());
455  m_TRClusterCorrelationsTheta[index]->GetZaxis()->SetTitle("counts");
456  }
457 
458  // only monitor if any flag was set so only 2 bins needed
459  m_trackingErrorFlags = new TH1F("NumberTrackingErrorFlags", "Tracking error summary."
460  " Mean = errors/event (should be 0 or very close to 0); Error occured yes or no; Number of events", 2, -0.5, 1.5);
461  m_trackingErrorFlags->GetXaxis()->SetBinLabel(1, "No Error");
462  m_trackingErrorFlags->GetXaxis()->SetBinLabel(2, "Error occured");
463 
464  TracksDQMAlignment->cd();
465 
466  for (int i = 0; i < nVXDSensors; i++) {
467  VxdID id = gTools->getSensorIDFromIndex(i);
468  int iLayer = id.getLayerNumber();
469  int iLadder = id.getLadderNumber();
470  int iSensor = id.getSensorNumber();
472  string sensorDescr = str(format("%1%_%2%_%3%") % iLayer % iLadder % iSensor);
473  name = str(format("UBResidualsU_%1%") % sensorDescr);
474  sensorDescr = str(format("Layer %1% Ladder %2% Sensor %3%") % iLayer % iLadder % iSensor);
475  title = str(format("PXD Unbiased U residuals for sensor %1%") % sensorDescr);
476  m_UBResidualsSensorU[i] = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
477  m_UBResidualsSensorU[i]->GetXaxis()->SetTitle("residual [#mum]");
478  m_UBResidualsSensorU[i]->GetYaxis()->SetTitle("counts");
479  sensorDescr = str(format("%1%_%2%_%3%") % iLayer % iLadder % iSensor);
480  name = str(format("UBResidualsV_%1%") % sensorDescr);
481  sensorDescr = str(format("Layer %1% Ladder %2% Sensor %3%") % iLayer % iLadder % iSensor);
482  title = str(format("PXD Unbiased V residuals for sensor %1%") % sensorDescr);
483  m_UBResidualsSensorV[i] = new TH1F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange);
484  m_UBResidualsSensorV[i]->GetXaxis()->SetTitle("residual [#mum]");
485  m_UBResidualsSensorV[i]->GetYaxis()->SetTitle("counts");
486  sensorDescr = str(format("%1%_%2%_%3%") % iLayer % iLadder % iSensor);
487  name = str(format("UBResiduals_%1%") % sensorDescr);
488  sensorDescr = str(format("Layer %1% Ladder %2% Sensor %3%") % iLayer % iLadder % iSensor);
489  title = str(format("PXD Unbiased residuals for sensor %1%") % sensorDescr);
490  m_UBResidualsSensor[i] = new TH2F(name.c_str(), title.c_str(), 200, -ResidualRange, ResidualRange, 200, -ResidualRange,
491  ResidualRange);
492  m_UBResidualsSensor[i]->GetXaxis()->SetTitle("residual U [#mum]");
493  m_UBResidualsSensor[i]->GetYaxis()->SetTitle("residual V [#mum]");
494  m_UBResidualsSensor[i]->GetZaxis()->SetTitle("counts");
495  }
496 
497 
498 
499  oldDir->cd();
500 }

◆ evalCondition()

bool evalCondition ( ) const
inherited

If at least one condition was set, it is evaluated and true returned if at least one condition returns true.

If no condition or result value was defined, the method returns false. Otherwise, the condition is evaluated and true returned, if at least one condition returns true. To speed up the evaluation, the condition strings were already parsed in the method if_value().

Returns
True if at least one condition and return value exists and at least one condition expression was evaluated to true.

Definition at line 98 of file Module.cc.

◆ getAfterConditionPath()

Module::EAfterConditionPath getAfterConditionPath ( ) const
inherited

What to do after the conditional path is finished.

(defaults to c_End if no condition is set)

Definition at line 135 of file Module.cc.

◆ getConditionPath()

std::shared_ptr< Path > getConditionPath ( ) const
inherited

Returns the path of the last true condition (if there is at least one, else reaturn a null pointer).


Definition at line 115 of file Module.cc.

◆ getFileNames()

virtual std::vector<std::string> getFileNames ( __attribute__((unused)) bool  outputFiles)
inlinevirtualinherited

Return a list of output filenames for this modules.

This will be called when basf2 is run with "--dry-run" if the module has set either the c_Input or c_Output properties.

If the parameter outputFiles is false (for modules with c_Input) the list of input filenames should be returned (if any). If outputFiles is true (for modules with c_Output) the list of output files should be returned (if any).

If a module has sat both properties this member is called twice, once for each property.

The module should return the actual list of requested input or produced output filenames (including handling of input/output overrides) so that the grid system can handle input/output files correctly.

This function should return the same value when called multiple times. This is especially important when taking the input/output overrides from Environment as they get consumed when obtained so the finalized list of output files should be stored for subsequent calls.

Definition at line 136 of file Module.h.

◆ getName()

const std::string& getName ( ) const
inlineinherited

Returns the name of the module.

This can be changed via e.g. set_name() in the steering file to give more useful names if there is more than one module of the same type.

For identifying the type of a module, using getType() (or type() in Python) is recommended.

Definition at line 189 of file Module.h.

◆ getParamInfoListPython()

std::shared_ptr< boost::python::list > getParamInfoListPython ( ) const
inherited

Returns a python list of all parameters.

Each item in the list consists of the name of the parameter, a string describing its type, a python list of all default values and the description of the parameter.

Returns
A python list containing the parameters of this parameter list.

Definition at line 281 of file Module.cc.

◆ getReturnValue()

int getReturnValue ( ) const
inlineinherited

Return the return value set by this module.

This value is only meaningful if hasReturnValue() is true

Definition at line 383 of file Module.h.

◆ getType()

const std::string & getType ( ) const
inherited

Returns the type of the module (i.e.

class name minus 'Module')

Definition at line 43 of file Module.cc.

◆ hasProperties()

bool hasProperties ( unsigned int  propertyFlags) const
inherited

Returns true if all specified property flags are available in this module.

Parameters
propertyFlagsOred EModulePropFlags which should be compared with the module flags.

Definition at line 162 of file Module.cc.

◆ if_false()

void if_false ( const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

A simplified version to add a condition to the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

It is equivalent to the if_value() method, using the expression "<1". This method is meant to be used together with the setReturnValue(bool value) method.

Parameters
pathShared pointer to the Path which will be executed if the return value is false.
afterConditionPathWhat to do after executing 'path'.

Definition at line 87 of file Module.cc.

◆ if_true()

void if_true ( const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

A simplified version to set the condition of the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

It is equivalent to the if_value() method, using the expression ">=1". This method is meant to be used together with the setReturnValue(bool value) method.

Parameters
pathShared pointer to the Path which will be executed if the return value is true.
afterConditionPathWhat to do after executing 'path'.

Definition at line 92 of file Module.cc.

◆ if_value()

void if_value ( const std::string &  expression,
const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

Add a condition to the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

See https://confluence.desy.de/display/BI/Software+ModCondTut or ModuleCondition for a description of the syntax.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

Parameters
expressionThe expression of the condition.
pathShared pointer to the Path which will be executed if the condition is evaluated to true.
afterConditionPathWhat to do after executing 'path'.

Definition at line 81 of file Module.cc.

◆ IsNotMat()

bool IsNotMat ( int  ladderNumber,
int  layerNumber 
)
private

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 in 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 845 of file TrackDQMModule.cc.

◆ IsNotYang()

bool IsNotYang ( int  ladderNumber,
int  layerNumber 
)
private

Returns true if sensor with given ladderNumber and layerNumber isn't in the Yang half-shell, therefore it should be in the Ying 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 833 of file TrackDQMModule.cc.

◆ setDescription()

void setDescription ( const std::string &  description)
protectedinherited

Sets the description of the module.

Parameters
descriptionA description of the module.

Definition at line 216 of file Module.cc.

◆ setLogInfo()

void setLogInfo ( int  logLevel,
unsigned int  logInfo 
)
inherited

Configure the printed log information for the given level.

Parameters
logLevelThe log level (one of LogConfig::ELogLevel)
logInfoWhat kind of info should be printed? ORed combination of LogConfig::ELogInfo flags.

Definition at line 75 of file Module.cc.

◆ setName()

void setName ( const std::string &  name)
inlineinherited

Set the name of the module.

Note
The module name is set when using the REG_MODULE macro, but the module can be renamed before calling process() using the set_name() function in your steering file.
Parameters
nameThe name of the module

Definition at line 216 of file Module.h.

◆ setParamPython()

void setParamPython ( const std::string &  name,
const boost::python::object &  pyObj 
)
privateinherited

Implements a method for setting boost::python objects.

The method supports the following types: list, dict, int, double, string, bool The conversion of the python object to the C++ type and the final storage of the parameter value is done in the ModuleParam class.

Parameters
nameThe unique name of the parameter.
pyObjThe object which should be converted and stored as the parameter value.

Definition at line 236 of file Module.cc.

◆ setParamPythonDict()

void setParamPythonDict ( const boost::python::dict &  dictionary)
privateinherited

Implements a method for reading the parameter values from a boost::python dictionary.

The key of the dictionary has to be the name of the parameter and the value has to be of one of the supported parameter types.

Parameters
dictionaryThe python dictionary from which the parameter values are read.

Definition at line 251 of file Module.cc.

◆ setPropertyFlags()

void setPropertyFlags ( unsigned int  propertyFlags)
inherited

Sets the flags for the module properties.

Parameters
propertyFlagsbitwise OR of EModulePropFlags

Definition at line 210 of file Module.cc.

◆ setReturnValue() [1/2]

void setReturnValue ( bool  value)
protectedinherited

Sets the return value for this module as bool.

The bool value is saved as an integer with the convention 1 meaning true and 0 meaning false. The value can be used in the steering file to divide the analysis chain into several paths.

Parameters
valueThe value of the return value.

Definition at line 229 of file Module.cc.

◆ setReturnValue() [2/2]

void setReturnValue ( int  value)
protectedinherited

Sets the return value for this module as integer.

The value can be used in the steering file to divide the analysis chain into several paths.

Parameters
valueThe value of the return value.

Definition at line 222 of file Module.cc.

◆ setType()

void setType ( const std::string &  type)
protectedinherited

Set the module type.

Only for use by internal modules (which don't use the normal REG_MODULE mechanism).

Definition at line 50 of file Module.cc.

Member Data Documentation

◆ m_D0Z0

TH2F* m_D0Z0 = nullptr
private

z0 vs d0 - signed distance to the IP in r-phi vs.

z0 of the perigee (to see primary vertex shifts along R or z)

Definition at line 186 of file TrackDQMModule.h.

◆ m_Omega

TH1F* m_Omega = nullptr
private

Omega - the curvature of the track.

It's sign is defined by the charge of the particle

Definition at line 192 of file TrackDQMModule.h.

◆ m_trackingErrorFlags

TH1F* m_trackingErrorFlags = nullptr
private

Monitors the Error flags set by the tracking code.

As of the time of implementation there only were two flags: VXDTF2AbortionFlag, i.e. how often the VXDTF2 did abort the event and did not produce tracks, and UnspecifiedTrackFindingFailure The histogram records if any flag was set.

Definition at line 217 of file TrackDQMModule.h.


The documentation for this class was generated from the following files:
Belle2::TrackDQMModule::m_HitsCDC
TH1F * m_HitsCDC
Number of hits on CDC.
Definition: TrackDQMModule.h:200
Belle2::TrackDQMModule::m_UBResidualsPXDY_Ying
TH1F * m_UBResidualsPXDY_Ying
Unbiased residuals in Y for PXD for Ying.
Definition: TrackDQMModule.h:112
Belle2::TrackDQMModule::m_UBResidualsSVDZ_Pat
TH1F * m_UBResidualsSVDZ_Pat
Unbiased residuals in Z for SVD for Pat.
Definition: TrackDQMModule.h:125
Belle2::TrackDQMModule::m_Mom
TH1F * m_Mom
Track momentum Magnitude.
Definition: TrackDQMModule.h:178
Belle2::VxdID
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:43
Belle2::TrackDQMModule::m_D0
TH1F * m_D0
d0 - the signed distance to the IP in the r-phi plane
Definition: TrackDQMModule.h:180
Belle2::TrackDQMModule::m_Z0
TH1F * m_Z0
z0 - the z0 coordinate of the perigee (beam spot position)
Definition: TrackDQMModule.h:184
Belle2::TrackDQMModule::m_MomY
TH1F * m_MomY
Track momentum Pt.Y.
Definition: TrackDQMModule.h:172
Belle2::TrackDQMModule::m_HitsPXD
TH1F * m_HitsPXD
Number of hits on PXD.
Definition: TrackDQMModule.h:196
Belle2::TrackDQMModule::m_UBResidualsPXDV
TH1F * m_UBResidualsPXDV
Unbiased residuals for PXD v.
Definition: TrackDQMModule.h:97
Belle2::TrackDQMModule::m_UBResidualsSVDV
TH1F * m_UBResidualsSVDV
Unbiased residuals for SVD v.
Definition: TrackDQMModule.h:99
Belle2::TrackDQMModule::m_UBResidualsPXDZ_Ying
TH1F * m_UBResidualsPXDZ_Ying
Unbiased residuals in Z for PXD for Ying.
Definition: TrackDQMModule.h:121
Belle2::TrackDQMModule::m_UBResidualsSensor
TH2F ** m_UBResidualsSensor
Unbiased residuals for PXD and SVD u vs v per sensor.
Definition: TrackDQMModule.h:89
Belle2::TrackDQMModule::m_UBResidualsSVD
TH2F * m_UBResidualsSVD
Unbiased residuals for SVD u vs v.
Definition: TrackDQMModule.h:87
Belle2::VXD::GeoCache::getLayers
const std::set< Belle2::VxdID > getLayers(SensorInfoBase::SensorType sensortype=SensorInfoBase::VXD)
Return a set of all known Layers.
Definition: GeoCache.cc:177
Belle2::TrackDQMModule::m_Phi
TH1F * m_Phi
Phi - the angle of the transverse momentum in the r-phi plane, with CDF naming convention.
Definition: TrackDQMModule.h:188
Belle2::TrackDQMModule::m_TracksCDC
TH1F * m_TracksCDC
Number of tracks only with CDC.
Definition: TrackDQMModule.h:206
Belle2::TrackDQMModule::m_UBResidualsPXDY_Yang
TH1F * m_UBResidualsPXDY_Yang
Unbiased residuals in Y for PXD for Yang.
Definition: TrackDQMModule.h:114
Belle2::TrackDQMModule::m_NDF
TH1F * m_NDF
NDF.
Definition: TrackDQMModule.h:81
Belle2::TrackDQMModule::m_TanLambda
TH1F * m_TanLambda
TanLambda - the slope of the track in the r-z plane.
Definition: TrackDQMModule.h:190
Belle2::TrackDQMModule::m_Omega
TH1F * m_Omega
Omega - the curvature of the track.
Definition: TrackDQMModule.h:192
Belle2::TrackDQMModule::m_UBResidualsPXDZ_Yang
TH1F * m_UBResidualsPXDZ_Yang
Unbiased residuals in Z for PXD for Yang.
Definition: TrackDQMModule.h:123
Belle2::TrackDQMModule::m_Chi2NDF
TH1F * m_Chi2NDF
Chi2 / NDF.
Definition: TrackDQMModule.h:83
Belle2::TrackDQMModule::m_D0Z0
TH2F * m_D0Z0
z0 vs d0 - signed distance to the IP in r-phi vs.
Definition: TrackDQMModule.h:186
Belle2::TrackDQMModule::m_MomPhi
TH1F * m_MomPhi
Track momentum Pt.Phi.
Definition: TrackDQMModule.h:166
Belle2::TrackDQMModule::m_MomZ
TH1F * m_MomZ
Track momentum Pt.Z.
Definition: TrackDQMModule.h:174
Belle2::TrackDQMModule::m_MomX
TH1F * m_MomX
Track momentum Pt.X.
Definition: TrackDQMModule.h:170
Belle2::TrackDQMModule::m_trackingErrorFlags
TH1F * m_trackingErrorFlags
Monitors the Error flags set by the tracking code.
Definition: TrackDQMModule.h:217
Belle2::TrackDQMModule::m_UBResidualsPXD
TH2F * m_UBResidualsPXD
Unbiased residuals for PXD u vs v.
Definition: TrackDQMModule.h:85
Belle2::VXD::GeoCache::getInstance
static GeoCache & getInstance()
Return a reference to the singleton instance.
Definition: GeoCache.cc:215
Belle2::TrackDQMModule::m_UBResidualsSensorU
TH1F ** m_UBResidualsSensorU
Unbiased residuals for PXD and SVD u per sensor.
Definition: TrackDQMModule.h:95
Belle2::TrackDQMModule::m_Chi2
TH1F * m_Chi2
Chi2.
Definition: TrackDQMModule.h:79
Belle2::VXD::GeoCache::getGeoTools
const GeoTools * getGeoTools()
Return a raw pointer to a GeoTools object.
Definition: GeoCache.h:149
Belle2::TrackDQMModule::m_TRClusterCorrelationsTheta
TH2F ** m_TRClusterCorrelationsTheta
Track related clusters - neighbor corelations in Theta.
Definition: TrackDQMModule.h:162
Belle2::TrackDQMModule::m_UBResidualsPXDX_Ying
TH1F * m_UBResidualsPXDX_Ying
Unbiased residuals in X for PXD for Ying.
Definition: TrackDQMModule.h:103
Belle2::TrackDQMModule::m_MomPt
TH1F * m_MomPt
Track momentum Pt.
Definition: TrackDQMModule.h:176
Belle2::TrackDQMModule::m_MomCosTheta
TH1F * m_MomCosTheta
Track momentum Pt.CosTheta.
Definition: TrackDQMModule.h:168
Belle2::TrackDQMModule::m_D0Phi
TH2F * m_D0Phi
d0 vs Phi - the signed distance to the IP in the r-phi plane
Definition: TrackDQMModule.h:182
Belle2::TrackDQMModule::m_UBResidualsSVDZ_Mat
TH1F * m_UBResidualsSVDZ_Mat
Unbiased residuals in Z for SVD for Mat.
Definition: TrackDQMModule.h:127
Belle2::TrackDQMModule::m_UBResidualsSVDX_Mat
TH1F * m_UBResidualsSVDX_Mat
Unbiased residuals in X for SVD for Mat.
Definition: TrackDQMModule.h:109
Belle2::TrackDQMModule::m_Hits
TH1F * m_Hits
Number of all hits in tracks.
Definition: TrackDQMModule.h:202
Belle2::TrackDQMModule::m_UBResidualsPXDX_Yang
TH1F * m_UBResidualsPXDX_Yang
Unbiased residuals in X for PXD for Yang.
Definition: TrackDQMModule.h:105
Belle2::TrackDQMModule::m_TRClusterHitmap
TH2F ** m_TRClusterHitmap
Track related clusters - hitmap in IP angle range.
Definition: TrackDQMModule.h:158
Belle2::VXD::GeoCache
Class to faciliate easy access to sensor information of the VXD like coordinate transformations or pi...
Definition: GeoCache.h:41
Belle2::TrackDQMModule::m_UBResidualsSVDY_Pat
TH1F * m_UBResidualsSVDY_Pat
Unbiased residuals in Y for SVD for Pat.
Definition: TrackDQMModule.h:116
Belle2::TrackDQMModule::m_HitsSVD
TH1F * m_HitsSVD
Number of hits on SVD.
Definition: TrackDQMModule.h:198
Belle2::TrackDQMModule::m_PValue
TH1F * m_PValue
p Value
Definition: TrackDQMModule.h:77
Belle2::TrackDQMModule::m_UBResidualsSVDY_Mat
TH1F * m_UBResidualsSVDY_Mat
Unbiased residuals in Y for SVD for Mat.
Definition: TrackDQMModule.h:118
Belle2::TrackDQMModule::m_Tracks
TH1F * m_Tracks
Number of all finding tracks.
Definition: TrackDQMModule.h:210
Belle2::TrackDQMModule::m_UBResidualsSVDX_Pat
TH1F * m_UBResidualsSVDX_Pat
Unbiased residuals in X for SVD for Pat.
Definition: TrackDQMModule.h:107
Belle2::TrackDQMModule::m_TracksVXD
TH1F * m_TracksVXD
Number of tracks only with VXD.
Definition: TrackDQMModule.h:204
Belle2::VxdID::getLayerNumber
baseType getLayerNumber() const
Get the layer id.
Definition: VxdID.h:106
Belle2::TrackDQMModule::m_TracksVXDCDC
TH1F * m_TracksVXDCDC
Number of full tracks with VXD+CDC.
Definition: TrackDQMModule.h:208
Belle2::TrackDQMModule::m_TRClusterCorrelationsPhi
TH2F ** m_TRClusterCorrelationsPhi
Track related clusters - neighbor corelations in Phi.
Definition: TrackDQMModule.h:160
Belle2::TrackDQMModule::m_UBResidualsPXDU
TH1F * m_UBResidualsPXDU
Unbiased residuals for PXD u.
Definition: TrackDQMModule.h:91
Belle2::TrackDQMModule::m_UBResidualsSensorV
TH1F ** m_UBResidualsSensorV
Unbiased residuals for PXD and SVD v per sensor.
Definition: TrackDQMModule.h:156
Belle2::TrackDQMModule::m_UBResidualsSVDU
TH1F * m_UBResidualsSVDU
Unbiased residuals for SVD u.
Definition: TrackDQMModule.h:93