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

The module studies VXD hits from overlapping sensors of a same VXD layer. More...

#include <OverlapResidualsModule.h>

Inheritance diagram for OverlapResidualsModule:
Collaboration diagram for OverlapResidualsModule:

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

 OverlapResidualsModule ()
 Constructor.
 
void initialize () override
 Register input and output data.
 
void event () override
 Compute the difference of coordinate residuals between two hits in overlapping sensors of a same VXD layer.
 
void defineHisto () override
 Histogram definitions such as TH1(), TH2(), TNtuple(), TTree().... More...
 
virtual void beginRun () override
 Function to process begin_run record.
 
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

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

bool m_ExpertLevel
 Expert level switch.
 
std::string m_recoTracksStoreArrayName {"RecoTracks"}
 StoreArray name of the input and output RecoTracks.
 
StoreArray< PXDClusterm_pxdcluster
 Array storing PXD clusters.
 
StoreArray< SVDClusterm_svdcluster
 Array storing SVD clusters.
 
TH1F * h_U_DeltaRes = nullptr
 Histogram of VXD ( PXD + SVD ) differences of u-coordinate residuals.
 
TH1F * h_V_DeltaRes = nullptr
 Histogram of VXD ( PXD + SVD ) differences of v-coordinate residuals.
 
TH1F * h_U_DeltaRes_PXD = nullptr
 Histogram of PXD u-coordinate differences of residuals.
 
TH1F * h_U_DeltaRes_PXD_Lyr1 = nullptr
 Histogram of PXD layer-1 u-coordinate differences of residuals.
 
TH1F * h_U_DeltaRes_PXD_Lyr2 = nullptr
 Histogram of PXD layer-2 u-coordinate differences of residuals.
 
TH1F * h_V_DeltaRes_PXD = nullptr
 Histogram of PXD v-coordinate differences of residuals.
 
TH1F * h_V_DeltaRes_PXD_Lyr1 = nullptr
 Histogram of PXD layer-1 v-coordinate differences of residuals.
 
TH1F * h_V_DeltaRes_PXD_Lyr2 = nullptr
 Histogram of PXD layer-2 v-coordinate differences of residuals.
 
TH1F * h_U_DeltaRes_SVD = nullptr
 Histogram of SVD u-coordinate differences of residuals.
 
TH1F * h_U_DeltaRes_SVD_Lyr3 = nullptr
 Histogram of SVD layer-3 u-coordinate differences of residuals.
 
TH1F * h_U_DeltaRes_SVD_Lyr4 = nullptr
 Histogram of SVD layer-4 u-coordinate differences of residuals.
 
TH1F * h_U_DeltaRes_SVD_Lyr5 = nullptr
 Histogram of SVD layer-5 u-coordinate differences of residuals.
 
TH1F * h_U_DeltaRes_SVD_Lyr6 = nullptr
 Histogram of SVD layer-6 u-coordinate differences of residuals.
 
TH1F * h_V_DeltaRes_SVD = nullptr
 Histogram of SVD v-coordinate differences of residuals.
 
TH1F * h_V_DeltaRes_SVD_Lyr3 = nullptr
 Histogram of SVD layer-3 v-coordinate differences of residuals.
 
TH1F * h_V_DeltaRes_SVD_Lyr4 = nullptr
 Histogram of SVD layer-4 v-coordinate differences of residuals.
 
TH1F * h_V_DeltaRes_SVD_Lyr5 = nullptr
 Histogram of SVD layer-5 v-coordinate differences of residuals.
 
TH1F * h_V_DeltaRes_SVD_Lyr6 = nullptr
 Histogram of SVD layer-6 v-coordinate differences of residuals.
 
TH2F * h_DeltaResUPhi_Lyr6 = nullptr
 2D histogram of DeltaRes_u vs phi of VXD overlaps for layer 6
 
TH2F * h_DeltaResUPhi_Lyr5 = nullptr
 2D histogram of DeltaRes_u vs phi of VXD overlaps for layer 5
 
TH2F * h_DeltaResUPhi_Lyr4 = nullptr
 2D histogram of DeltaRes_u vs phi of VXD overlaps for layer 4
 
TH2F * h_DeltaResUPhi_Lyr3 = nullptr
 2D histogram of DeltaRes_u vs phi of VXD overlaps for layer 3
 
TH2F * h_DeltaResUPhi_Lyr2 = nullptr
 2D histogram of DeltaRes_u vs phi of VXD overlaps for layer 2
 
TH2F * h_DeltaResUPhi_Lyr1 = nullptr
 2D Histogram of DeltaRes_u vs phi of VXD overlaps for layer 1
 
TH2F * h_DeltaResUz_Lyr6 = nullptr
 2D histogram of DeltaRes_u vs z of VXD overlaps for layer 6
 
TH2F * h_DeltaResUz_Lyr5 = nullptr
 2D histogram of DeltaRes_u vs z of VXD overlaps for layer 5
 
TH2F * h_DeltaResUz_Lyr4 = nullptr
 2D histogram of DeltaRes_u vs z of VXD overlaps for layer 4
 
TH2F * h_DeltaResUz_Lyr3 = nullptr
 2D histogram of DeltaRes_u vs z of VXD overlaps for layer 3
 
TH2F * h_DeltaResUz_Lyr2 = nullptr
 2D histogram of DeltaRes_u vs z of VXD overlaps for layer 2
 
TH2F * h_DeltaResUz_Lyr1 = nullptr
 2D histogram of DeltaRes_u vs z of VXD overlaps for layer 1
 
TH2F * h_DeltaResVz_Lyr6 = nullptr
 2D histogram of DeltaRes_v vs z of VXD overlaps for layer 6
 
TH2F * h_DeltaResVz_Lyr5 = nullptr
 2D histogram of DeltaRes_v vs z of VXD overlaps for layer 5
 
TH2F * h_DeltaResVz_Lyr4 = nullptr
 2D histogram of DeltaRes_v vs z of VXD overlaps for layer 4
 
TH2F * h_DeltaResVz_Lyr3 = nullptr
 2D histogram of DeltaRes_v vs z of VXD overlaps for layer 3
 
TH2F * h_DeltaResVz_Lyr2 = nullptr
 2D histogram of DeltaRes_v vs z of VXD overlaps for layer 2
 
TH2F * h_DeltaResVz_Lyr1 = nullptr
 2D histogram of DeltaRes_v vs z of VXD overlaps for layer 1
 
TH2F * h_DeltaResVPhi_Lyr6 = nullptr
 2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 6
 
TH2F * h_DeltaResVPhi_Lyr5 = nullptr
 2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 5
 
TH2F * h_DeltaResVPhi_Lyr4 = nullptr
 2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 4
 
TH2F * h_DeltaResVPhi_Lyr3 = nullptr
 2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 3
 
TH2F * h_DeltaResVPhi_Lyr2 = nullptr
 2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 2
 
TH2F * h_DeltaResVPhi_Lyr1 = nullptr
 2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 1
 
TH1F * h_SVDstrips_Mult = nullptr
 Histogram of SVD strips multiplicity.
 
TH1F * h_U_Cl1Cl2_DeltaRes [5] = {nullptr}
 Histogram of SVD differences of u-coordinate residuals grouped by clusters sizes.
 
TH1F * h_V_Cl1Cl2_DeltaRes [5] = {nullptr}
 Histogram of SVD differences of v-coordinate residuals grouped by clusters sizes.
 
TH2F * h_Lyr6 [17][6] = {nullptr}
 Sensor hit-map for layer 6 from reconstructed u and v coordinates.
 
TH2F * h_Lyr5 [13][5] = {nullptr}
 Sensor hit-map for layer 5 from reconstructed u and v coordinates.
 
TH2F * h_Lyr4 [11][4] = {nullptr}
 Sensor hit-map for layer 4 from reconstructed u and v coordinates.
 
TH2F * h_Lyr3 [8][3] = {nullptr}
 Sensor hit-map for layer 3 from reconstructed u and v coordinates.
 
TH2F * h_Lyr2 [13][3] = {nullptr}
 Sensor hit-map for layer 2 from reconstructed u and v coordinates.
 
TH2F * h_Lyr1 [9][3] = {nullptr}
 Sensor hit-map for layer 1 from reconstructed u and v coordinates.
 
TTree * t_PXD = nullptr
 Tree containing global information on PXD overlaps.
 
TTree * t_SVD_U = nullptr
 Tree containing global information on SVD u-coordinate overlaps.
 
TTree * t_SVD_V = nullptr
 Tree containing global information on SVD v-coordinate overlaps.
 
float deltaResU_PXD = 0
 tree t_PXD branch deltaResU/F
 
float intResU_PXD = 0
 tree t_PXD branch intResU_PXD/F
 
float intResV_PXD = 0
 tree t_PXD branch intResV/PXD/F
 
float intU_PXD = 0
 tree t_PXD branch intU_PXD/F
 
float intV_PXD = 0
 tree t_PXD branch intV_PXD/F
 
float intPhi_PXD = 0
 tree t_PXD branch intPhi_PXD/F
 
float intZ_PXD = 0
 tree t_PXD branch intZ_PXD/F
 
float extResU_PXD = 0
 tree t_PXD branch extResU_PXD/F
 
float extResV_PXD = 0
 tree t_PXD branch extResV_PXD/F
 
float extU_PXD = 0
 tree t_PXD branch extU_PXD/F
 
float extV_PXD = 0
 tree t_PXD branch extV_PXD/F
 
float extPhi_PXD = 0
 tree t_PXD branch extPhi/PXD/F
 
float extZ_PXD = 0
 tree t_PXD branch extZ_PXD/F
 
unsigned int intLayer_PXD = 0
 tree t_PXD branch intLayer_PXD/i
 
unsigned int intLadder_PXD = 0
 tree t_PXD branch intLadder_PXD/i
 
unsigned int intSensor_PXD = 0
 tree t_PXD branch intSensor_PXD/i
 
unsigned int extLayer_PXD = 0
 tree t_PXD branch extLayer_PXD/i
 
unsigned int extLadder_PXD = 0
 tree t_PXD branch extLadder_PXD/i
 
unsigned int extSensor_PXD = 0
 tree t_PXD branch extSensor_PXD/i
 
float deltaRes_SVD_U = 0
 U difference between external and internal residual.
 
float intRes_SVD_U = 0
 U internal residual computed by genfit.
 
float intClPos_SVD_U = 0
 U internal cluster position.
 
float intClPosErr_SVD_U = 0
 U internal cluster position error.
 
float intTruePos_SVD_U = -99
 U internal true position.
 
float intClPhi_SVD_U = 0
 U internal cluster global phi.
 
float intClZ_SVD_U = 0
 U internal cluster global Z.
 
float intTrkPos_SVD_U = 0
 U internal track position.
 
float intTrkPosErr_SVD_U = 0
 U internal track position error.
 
float intTrkQoP_SVD_U = 0
 U internal track q/p.
 
float intTrkPrime_SVD_U = 0
 U internal tan of incident angle projected on u,w.
 
float extRes_SVD_U = 0
 U external residual computed by genfit.
 
float extClPos_SVD_U = 0
 U external cluster position.
 
float extClPosErr_SVD_U = 0
 U external cluster position error.
 
float extTruePos_SVD_U = -99
 U external true position.
 
float extClPhi_SVD_U = 0
 U external cluster global phi.
 
float extClZ_SVD_U = 0
 U external cluster global Z.
 
float extTrkPos_SVD_U = 0
 U external track position.
 
float extTrkPosErr_SVD_U = 0
 U external track position error.
 
float extTrkQoP_SVD_U = 0
 U external track q/p.
 
float extTrkPrime_SVD_U = 0
 U external tan of incident angle projected on u,w.
 
unsigned int intLayer_SVD_U = 0
 U internal layer.
 
unsigned int intLadder_SVD_U = 0
 U internal ladder.
 
unsigned int intSensor_SVD_U = 0
 U internal sensor.
 
unsigned int intSize_SVD_U = 0
 U internal size.
 
unsigned int extLayer_SVD_U = 0
 U external layer.
 
unsigned int extLadder_SVD_U = 0
 U external ladder.
 
unsigned int extSensor_SVD_U = 0
 U external sensor.
 
unsigned int extSize_SVD_U = 0
 U external size.
 
float deltaRes_SVD_V = 0
 V difference between external and internal residual.
 
float intRes_SVD_V = 0
 V internal residual computed by genfit.
 
float intClPos_SVD_V = 0
 V internal cluster position.
 
float intClPosErr_SVD_V = 0
 V internal cluster position error.
 
float intTruePos_SVD_V = -99
 V internal true position.
 
float intClPhi_SVD_V = 0
 V internal cluster global phi.
 
float intClZ_SVD_V = 0
 V internal cluster global Z.
 
float intTrkPos_SVD_V = 0
 V internal track position.
 
float intTrkPosErr_SVD_V = 0
 V internal track position error.
 
float intTrkQoP_SVD_V = 0
 V internal track q/p.
 
float intTrkPrime_SVD_V = 0
 V internal tan of incident angle projected on u,w.
 
float extRes_SVD_V = 0
 V external residual computed by genfit.
 
float extClPos_SVD_V = 0
 V external cluster position.
 
float extClPosErr_SVD_V = 0
 V external cluster position error.
 
float extTruePos_SVD_V = -99
 V external true position.
 
float extClPhi_SVD_V = 0
 V external cluster global phi.
 
float extClZ_SVD_V = 0
 V external cluster global Z.
 
float extTrkPos_SVD_V = 0
 V external track position.
 
float extTrkPosErr_SVD_V = 0
 V external track position error.
 
float extTrkQoP_SVD_V = 0
 V external track q/p.
 
float extTrkPrime_SVD_V = 0
 V external tan of incident angle projected on u,w.
 
unsigned int intLayer_SVD_V = 0
 V internal layer.
 
unsigned int intLadder_SVD_V = 0
 V internal ladder.
 
unsigned int intSensor_SVD_V = 0
 V internal sensor.
 
unsigned int intSize_SVD_V = 0
 V internal size.
 
unsigned int extLayer_SVD_V = 0
 V external layer.
 
unsigned int extLadder_SVD_V = 0
 V external ladder.
 
unsigned int extSensor_SVD_V = 0
 V external sensor.
 
unsigned int extSize_SVD_V = 0
 V external size.
 
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

The module studies VXD hits from overlapping sensors of a same VXD layer.

In particular, it computes residuals differences sensitive to possible detector misalignments.

Overlapping residuals

Definition at line 46 of file OverlapResidualsModule.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 ( )
overridevirtual

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

are supposed to be placed in this function

Reimplemented from HistoModule.

Definition at line 62 of file OverlapResidualsModule.cc.

63 {
64  //Create directory to store monitoring histograms
65  TDirectory* oldDir = gDirectory;
66  TDirectory* ResDir = oldDir->mkdir("Monitoring_VXDOverlaps");
67  ResDir->cd();
68  //Define histograms of residuals differences
69  h_U_DeltaRes = new TH1F("h_U_DeltaRes", "Histrogram of residual difference #Delta res_{u} for overlapping hits", 100, -1000, 1000);
70  h_U_DeltaRes->GetXaxis()->SetTitle("#Delta res_{u} (#mum)");
71  h_U_DeltaRes->GetYaxis()->SetTitle("counts");
72  h_V_DeltaRes = new TH1F("h_V_DeltaRes", "Histrogram of residual difference #Delta res_{v} for overlapping hits", 100, -1000, 1000);
73  h_V_DeltaRes->GetXaxis()->SetTitle("#Delta res_{v} (#mum)");
74  h_V_DeltaRes->GetYaxis()->SetTitle("counts");
75  h_U_DeltaRes_PXD = new TH1F("h_U_DeltaRes_PXD", "Histrogram of residual difference #Delta res_{u} for overlapping PXD hits", 100,
76  -1000, 1000);
77  h_U_DeltaRes_PXD->GetXaxis()->SetTitle("#Delta res_{u} (#mum)");
78  h_U_DeltaRes_PXD->GetYaxis()->SetTitle("counts");
79  h_U_DeltaRes_PXD_Lyr1 = new TH1F("h_U_DeltaRes_PXD_Lyr1",
80  "Layer1: histrogram of residual difference #Delta res_{u} for overlapping PXD hits", 100, -1000, 1000);
81  h_U_DeltaRes_PXD_Lyr1->GetXaxis()->SetTitle("#Delta res_{u} (#mum)");
82  h_U_DeltaRes_PXD_Lyr1->GetYaxis()->SetTitle("counts");
83  h_U_DeltaRes_PXD_Lyr2 = new TH1F("h_U_DeltaRes_PXD_Lyr2",
84  "Layer 2: hstrogram of residual difference #Delta res_{u} for overlapping PXD hits", 100, -1000, 1000);
85  h_U_DeltaRes_PXD_Lyr2->GetXaxis()->SetTitle("#Delta res_{u} (#mum)");
86  h_U_DeltaRes_PXD_Lyr2->GetYaxis()->SetTitle("counts");
87  h_V_DeltaRes_PXD = new TH1F("h_V_DeltaRes_PXD", "Histrogram of residual difference #Delta res_{v} for overlapping PXD hits", 100,
88  -1000, 1000);
89  h_V_DeltaRes_PXD->GetXaxis()->SetTitle("#Delta res_{v} (#mum)");
90  h_V_DeltaRes_PXD->GetYaxis()->SetTitle("counts");
91  h_V_DeltaRes_PXD_Lyr1 = new TH1F("h_V_DeltaRes_PXD_Lyr1",
92  "Layer 1: histrogram of residual difference #Delta res_{v} for overlapping PXD hits", 100, -1000, 1000);
93  h_V_DeltaRes_PXD_Lyr1->GetXaxis()->SetTitle("#Delta res_{v} (#mum)");
94  h_V_DeltaRes_PXD_Lyr1->GetYaxis()->SetTitle("counts");
95  h_V_DeltaRes_PXD_Lyr2 = new TH1F("h_V_DeltaRes_PXD_Lyr2",
96  "Layer 2: histrogram of residual difference #Delta res_{v} for overlapping PXD hits", 100, -1000, 1000);
97  h_V_DeltaRes_PXD_Lyr2->GetXaxis()->SetTitle("#Delta res_{v} (#mum)");
98  h_V_DeltaRes_PXD_Lyr2->GetYaxis()->SetTitle("counts");
99  h_U_DeltaRes_SVD = new TH1F("h_U_DeltaRes_SVD", "Histrogram of residual difference #Delta res_{u} for overlapping SVD hits", 100,
100  -1000, 1000);
101  h_U_DeltaRes_SVD->GetXaxis()->SetTitle("#Delta res_{u} (#mum)");
102  h_U_DeltaRes_SVD->GetYaxis()->SetTitle("counts");
103  h_U_DeltaRes_SVD_Lyr3 = new TH1F("h_U_DeltaRes_SVD_Lyr3",
104  "Layer 3: histrogram of residual difference #Delta res_{u} for overlapping SVD hits", 100, -1000, 1000);
105  h_U_DeltaRes_SVD_Lyr3->GetXaxis()->SetTitle("#Delta res_{u} (#mum)");
106  h_U_DeltaRes_SVD_Lyr3->GetYaxis()->SetTitle("counts");
107  h_U_DeltaRes_SVD_Lyr4 = new TH1F("h_U_DeltaRes_SVD_Lyr4",
108  "Layer 4: histrogram of residual difference #Delta res_{u} for overlapping SVD hits", 100, -1000, 1000);
109  h_U_DeltaRes_SVD_Lyr4->GetXaxis()->SetTitle("#Delta res_{u} (#mum)");
110  h_U_DeltaRes_SVD_Lyr4->GetYaxis()->SetTitle("counts");
111  h_U_DeltaRes_SVD_Lyr5 = new TH1F("h_U_DeltaRes_SVD_Lyr5",
112  "Layer 5: histrogram of residual difference #Delta res_{u} for overlapping SVD hits", 100, -1000, 1000);
113  h_U_DeltaRes_SVD_Lyr5->GetXaxis()->SetTitle("#Delta res_{u} (#mum)");
114  h_U_DeltaRes_SVD_Lyr5->GetYaxis()->SetTitle("counts");
115  h_U_DeltaRes_SVD_Lyr6 = new TH1F("h_U_DeltaRes_SVD_Lyr6",
116  "Layer 6: histrogram of residual difference #Delta res_{u} for overlapping SVD hits", 100, -1000, 1000);
117  h_U_DeltaRes_SVD_Lyr6->GetXaxis()->SetTitle("#Delta res_{u} (#mum)");
118  h_U_DeltaRes_SVD_Lyr6->GetYaxis()->SetTitle("counts");
119  h_V_DeltaRes_SVD = new TH1F("h_V_DeltaRes_SVD", "Histrogram of residual difference #Delta res_{v} for overlapping SVD hits", 100,
120  -1000, 1000);
121  h_V_DeltaRes_SVD->GetXaxis()->SetTitle("#Delta res_{v} (#mum)");
122  h_V_DeltaRes_SVD->GetYaxis()->SetTitle("counts");
123  h_V_DeltaRes_SVD_Lyr3 = new TH1F("h_V_DeltaRes_SVD_Lyr3",
124  "Layer 3: histrogram of residual difference #Delta res_{v} for overlapping SVD hits", 100, -1000, 1000);
125  h_V_DeltaRes_SVD_Lyr3->GetXaxis()->SetTitle("#Delta res_{v} (#mum)");
126  h_V_DeltaRes_SVD_Lyr3->GetYaxis()->SetTitle("counts");
127  h_V_DeltaRes_SVD_Lyr4 = new TH1F("h_V_DeltaRes_SVD_Lyr4",
128  "Layer 4: histrogram of residual difference #Delta res_{v} for overlapping SVD hits", 100, -1000, 1000);
129  h_V_DeltaRes_SVD_Lyr4->GetXaxis()->SetTitle("#Delta res_{v} (#mum)");
130  h_V_DeltaRes_SVD_Lyr4->GetYaxis()->SetTitle("counts");
131  h_V_DeltaRes_SVD_Lyr5 = new TH1F("h_V_DeltaRes_SVD_Lyr5",
132  "Layer 5: histrogram of residual difference #Delta res_{v} for overlapping SVD hits", 100, -1000, 1000);
133  h_V_DeltaRes_SVD_Lyr5->GetXaxis()->SetTitle("#Delta res_{v} (#mum)");
134  h_V_DeltaRes_SVD_Lyr5->GetYaxis()->SetTitle("counts");
135  h_V_DeltaRes_SVD_Lyr6 = new TH1F("h_V_DeltaRes_SVD_Lyr6",
136  "Layer 6: histrogram of residual difference #Delta res_{v} for overlapping SVD hits", 100, -1000, 1000);
137  h_V_DeltaRes_SVD_Lyr6->GetXaxis()->SetTitle("#Delta res_{v} (#mum)");
138  h_V_DeltaRes_SVD_Lyr6->GetYaxis()->SetTitle("counts");
139  h_SVDstrips_Mult = new TH1F("h_SVDstrips_Mult", "SVD strips multipicity for SVD clusters in overlapping sensors", 15, 0.5, 15.5);
140  h_SVDstrips_Mult->GetXaxis()->SetTitle("N. of SVD strips contributing to the cluster");
141  h_SVDstrips_Mult->GetYaxis()->SetTitle("counts");
142  //Define 2D histograms: difference of u-residuals vs phi of VXD overlaps for each layer (1 to 6)
143  h_DeltaResUPhi_Lyr1 = new TH2F("h_DeltaResUPhi_Lyr1", "Layer 1: #Delta res_{u} vs #phi", 200, -3.4, 3.4, 100, -200, 200);
144  h_DeltaResUPhi_Lyr1->GetXaxis()->SetTitle("#phi(rad)");
145  h_DeltaResUPhi_Lyr1->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
146  h_DeltaResUPhi_Lyr2 = new TH2F("h_DeltaResUPhi_Lyr2", "Layer 2: #Delta res_{u} vs #phi", 200, -3.4, 3.4, 100, -200, 200);
147  h_DeltaResUPhi_Lyr2->GetXaxis()->SetTitle("#phi(rad)");
148  h_DeltaResUPhi_Lyr2->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
149  h_DeltaResUPhi_Lyr3 = new TH2F("h_DeltaResUPhi_Lyr3", "Layer 3: #Delta res_{u} vs #phi", 200, -3.4, 3.4, 100, -1000, 1000);
150  h_DeltaResUPhi_Lyr3->GetXaxis()->SetTitle("#phi(rad)");
151  h_DeltaResUPhi_Lyr3->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
152  h_DeltaResUPhi_Lyr4 = new TH2F("h_DeltaResUPhi_Lyr4", "Layer 4: #Delta res_{u} vs #phi", 200, -3.4, 3.4, 100, -1000, 1000);
153  h_DeltaResUPhi_Lyr4->GetXaxis()->SetTitle("#phi(rad)");
154  h_DeltaResUPhi_Lyr4->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
155  h_DeltaResUPhi_Lyr5 = new TH2F("h_DeltaResUPhi_Lyr5", "Layer 5: #Delta res_{u} vs #phi", 200, -3.4, 3.4, 100, -1000, 1000);
156  h_DeltaResUPhi_Lyr5->GetXaxis()->SetTitle("#phi(rad)");
157  h_DeltaResUPhi_Lyr5->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
158  h_DeltaResUPhi_Lyr6 = new TH2F("h_DeltaResUPhi_Lyr6", "Layer 6: #Delta res_{u} vs #phi", 200, -3.4, 3.4, 100, -1000, 1000);
159  h_DeltaResUPhi_Lyr6->GetXaxis()->SetTitle("#phi(rad)");
160  h_DeltaResUPhi_Lyr6->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
161  //Define 2D histograms: difference of u-residuals vs z of VXD overlaps for each layer (1 to 6)
162  h_DeltaResUz_Lyr1 = new TH2F("h_DeltaResUz_Lyr1", "Layer 1: #Delta res_{u} vs z", 100, -4, 8, 100, -200, 200);
163  h_DeltaResUz_Lyr1->GetXaxis()->SetTitle("z (cm)");
164  h_DeltaResUz_Lyr1->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
165  h_DeltaResUz_Lyr2 = new TH2F("h_DeltaResUz_Lyr2", "Layer 2: #Delta res_{u} vs z", 100, -10, 15, 100, -200, 200);
166  h_DeltaResUz_Lyr2->GetXaxis()->SetTitle("z (cm)");
167  h_DeltaResUz_Lyr2->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
168  h_DeltaResUz_Lyr3 = new TH2F("h_DeltaResUz_Lyr3", "Layer 3: #Delta res_{u} vs z", 250, -15, 20, 100, -1000, 1000);
169  h_DeltaResUz_Lyr3->GetXaxis()->SetTitle("z (cm)");
170  h_DeltaResUz_Lyr3->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
171  h_DeltaResUz_Lyr4 = new TH2F("h_DeltaResUz_Lyr4", "Layer 4: #Delta res_{u} vs z", 250, -20, 25, 100, -1000, 1000);
172  h_DeltaResUz_Lyr4->GetXaxis()->SetTitle("z (cm)");
173  h_DeltaResUz_Lyr4->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
174  h_DeltaResUz_Lyr5 = new TH2F("h_DeltaResUz_Lyr5", "Layer 5: #Delta res_{u} vs z", 250, -25, 35, 100, -1000, 1000);
175  h_DeltaResUz_Lyr5->GetXaxis()->SetTitle("z (cm)");
176  h_DeltaResUz_Lyr5->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
177  h_DeltaResUz_Lyr6 = new TH2F("h_DeltaResUz_Lyr6", "Layer 6: #Delta res_{u} vs z", 250, -30, 45, 100, -1000, 1000);
178  h_DeltaResUz_Lyr6->GetXaxis()->SetTitle("z (cm)");
179  h_DeltaResUz_Lyr6->GetYaxis()->SetTitle("#Delta res_{u} (#mum)");
180  //Define 2D histograms: difference of u-residuals vs phi of VXD overlaps for each layer (1 to 6)
181  h_DeltaResVPhi_Lyr1 = new TH2F("h_DeltaResVPhi_Lyr1", "Layer 1: #Delta res_{v} vs #phi", 200, -3.4, 3.4, 100, -200, 200);
182  h_DeltaResVPhi_Lyr1->GetXaxis()->SetTitle("#phi(rad)");
183  h_DeltaResVPhi_Lyr1->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
184  h_DeltaResVPhi_Lyr2 = new TH2F("h_DeltaResVPhi_Lyr2", "Layer 2: #Delta res_{v} vs #phi", 200, -3.4, 3.4, 100, -200, 200);
185  h_DeltaResVPhi_Lyr2->GetXaxis()->SetTitle("#phi(rad)");
186  h_DeltaResVPhi_Lyr2->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
187  h_DeltaResVPhi_Lyr3 = new TH2F("h_DeltaResVPhi_Lyr3", "Layer 3: #Delta res_{v} vs #phi", 200, -3.4, 3.4, 100, -1000, 1000);
188  h_DeltaResVPhi_Lyr3->GetXaxis()->SetTitle("#phi(rad)");
189  h_DeltaResVPhi_Lyr3->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
190  h_DeltaResVPhi_Lyr4 = new TH2F("h_DeltaResVPhi_Lyr4", "Layer 4: #Delta res_{v} vs #phi", 200, -3.4, 3.4, 100, -1000, 1000);
191  h_DeltaResVPhi_Lyr4->GetXaxis()->SetTitle("#phi(rad)");
192  h_DeltaResVPhi_Lyr4->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
193  h_DeltaResVPhi_Lyr5 = new TH2F("h_DeltaResVPhi_Lyr5", "Layer 5: #Delta res_{v} vs #phi", 200, -3.4, 3.4, 100, -1000, 1000);
194  h_DeltaResVPhi_Lyr5->GetXaxis()->SetTitle("#phi(rad)");
195  h_DeltaResVPhi_Lyr5->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
196  h_DeltaResVPhi_Lyr6 = new TH2F("h_DeltaResVPhi_Lyr6", "Layer 6: #Delta res_{v} vs #phi", 200, -3.4, 3.4, 100, -1000, 1000);
197  h_DeltaResVPhi_Lyr6->GetXaxis()->SetTitle("#phi(rad)");
198  h_DeltaResVPhi_Lyr6->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
199  //Define 2D histograms: difference of v-residuals vs z of VXD overlaps for each layer (1 to 6)
200  h_DeltaResVz_Lyr1 = new TH2F("h_DeltaResVz_Lyr1", "Layer 1: #Delta res_{v} vs z", 100, -4, 8, 100, -200, 200);
201  h_DeltaResVz_Lyr1->GetXaxis()->SetTitle("z (cm)");
202  h_DeltaResVz_Lyr1->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
203  h_DeltaResVz_Lyr2 = new TH2F("h_DeltaResVz_Lyr2", "Layer 2: #Delta res_{v} vs z", 100, -10, 15, 100, -200, 200);
204  h_DeltaResVz_Lyr2->GetXaxis()->SetTitle("z (cm)");
205  h_DeltaResVz_Lyr2->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
206  h_DeltaResVz_Lyr3 = new TH2F("h_DeltaResVz_Lyr3", "Layer 3: #Delta res_{v} vs z", 250, -15, 20, 100, -1000, 1000);
207  h_DeltaResVz_Lyr3->GetXaxis()->SetTitle("z (cm)");
208  h_DeltaResVz_Lyr3->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
209  h_DeltaResVz_Lyr4 = new TH2F("h_DeltaResVz_Lyr4", "Layer 4: #Delta res_{v} vs z", 250, -20, 25, 100, -1000, 1000);
210  h_DeltaResVz_Lyr4->GetXaxis()->SetTitle("z (cm)");
211  h_DeltaResVz_Lyr4->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
212  h_DeltaResVz_Lyr5 = new TH2F("h_DeltaResVz_Lyr5", "Layer 5: #Delta res_{v} vs z", 250, -25, 35, 100, -1000, 1000);
213  h_DeltaResVz_Lyr5->GetXaxis()->SetTitle("z (cm)");
214  h_DeltaResVz_Lyr5->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
215  h_DeltaResVz_Lyr6 = new TH2F("h_DeltaResVz_Lyr6", "Layer 6: #Delta res_{v} vs z", 250, -30, 45, 100, -1000, 1000);
216  h_DeltaResVz_Lyr6->GetXaxis()->SetTitle("z (cm)");
217  h_DeltaResVz_Lyr6->GetYaxis()->SetTitle("#Delta res_{v} (#mum)");
218  //Restricting to SVD clusters sizes
219  for (int i = 1; i < 5; i++) {
220  //The name is the product of cluster sizes for 2 consecutive hits (maximum size considered is 2)
221  TString h_name_U = "h_U_Cl1Cl2_" + std::to_string(i);
222  TString h_name_V = "h_V_Cl1Cl2_" + std::to_string(i);
223  TString title_U = "#Delta res_{u}: SVDClusterSize_1 x SVDClusterSize_2 = " + std::to_string(i);
224  TString title_V = "#Delta res_{v}: SVDClusterSize_1 x SVDClusterSize_2 = " + std::to_string(i);
225  h_U_Cl1Cl2_DeltaRes[i] = new TH1F(h_name_U, title_U, 100, -1000, 1000);
226  h_U_Cl1Cl2_DeltaRes[i]->GetXaxis()->SetTitle("#Delta res_{u} (#mum)");
227  h_U_Cl1Cl2_DeltaRes[i]->GetYaxis()->SetTitle("counts");
228  h_V_Cl1Cl2_DeltaRes[i] = new TH1F(h_name_V, title_V, 100, -1000, 1000);
229  h_V_Cl1Cl2_DeltaRes[i]->GetXaxis()->SetTitle("#Delta res_{v} (#mum)");
230  h_V_Cl1Cl2_DeltaRes[i]->GetYaxis()->SetTitle("counts");
231  }
232 
233  //Special case of ExpertLevel option enabled
234  if (m_ExpertLevel) {
235  //Create directory to store PXD and SVD hitmaps for overlapping hits
236  TDirectory* HMDir = oldDir->mkdir("HitMaps_VXDOverlaps");
237  HMDir->cd();
238  //Define 2D sensor hit-maps for reconstructed hits
239  for (int i = 1; i <= 5; i++) {
240  for (int j = 1; j <= 16; j++) {
241  TString h_name = "h_6" + std::to_string(j) + std::to_string(i);
242  TString title = "Layer:Ladder:Sensor = 6:" + std::to_string(j) + ":" + std::to_string(i);
243  h_Lyr6[j][i] = new TH2F(h_name, title, 100, -2.88, 2.88, 100, -6.14, 6.14);
244  h_Lyr6[j][i]->GetXaxis()->SetTitle("u (cm)");
245  h_Lyr6[j][i]->GetYaxis()->SetTitle("v (cm)");
246  }
247  }
248  for (int i = 1; i <= 4; i++) {
249  for (int j = 1; j <= 12; j++) {
250  TString h_name = "h_5" + std::to_string(j) + std::to_string(i);
251  TString title = "Layer:Ladder:Sensor = 5:" + std::to_string(j) + ":" + std::to_string(i);
252  h_Lyr5[j][i] = new TH2F(h_name, title, 100, -2.88, 2.88, 100, -6.14, 6.14);
253  h_Lyr5[j][i]->GetXaxis()->SetTitle("u (cm)");
254  h_Lyr5[j][i]->GetYaxis()->SetTitle("v (cm)");
255  }
256  }
257  for (int i = 1; i <= 3; i++) {
258  for (int j = 1; j <= 10; j++) {
259  TString h_name = "h_4" + std::to_string(j) + std::to_string(i);
260  TString title = "Layer:Ladder:Sensor = 4:" + std::to_string(j) + ":" + std::to_string(i);
261  h_Lyr4[j][i] = new TH2F(h_name, title, 100, -2.88, 2.88, 100, -6.14, 6.14);
262  h_Lyr4[j][i]->GetXaxis()->SetTitle("u (cm)");
263  h_Lyr4[j][i]->GetYaxis()->SetTitle("v (cm)");
264  }
265  }
266  for (int i = 1; i <= 2; i++) {
267  for (int j = 1; j <= 7; j++) {
268  TString h_name = "h_3" + std::to_string(j) + std::to_string(i);
269  TString title = "Layer:Ladder:Sensor = 3:" + std::to_string(j) + ":" + std::to_string(i);
270  h_Lyr3[j][i] = new TH2F(h_name, title, 100, -1.92, 1.92, 100, -6.14, 6.14);
271  h_Lyr3[j][i]->GetXaxis()->SetTitle("u (cm)");
272  h_Lyr3[j][i]->GetYaxis()->SetTitle("v (cm)");
273  }
274  }
275  for (int i = 1; i <= 2; i++) {
276  for (int j = 1; j <= 12; j++) {
277  TString h_name = "h_2" + std::to_string(j) + std::to_string(i);
278  TString title = "Layer:Ladder:Sensor = 2:" + std::to_string(j) + ":" + std::to_string(i);
279  h_Lyr2[j][i] = new TH2F(h_name, title, 100, -0.625, 0.625, 100, -3.072, 3.072);
280  h_Lyr2[j][i]->GetXaxis()->SetTitle("u (cm)");
281  h_Lyr2[j][i]->GetYaxis()->SetTitle("v (cm)");
282  }
283  }
284  for (int i = 1; i <= 2; i++) {
285  for (int j = 1; j <= 8; j++) {
286  TString h_name = "h_1" + std::to_string(j) + std::to_string(i);
287  TString title = "Layer:Ladder:Sensor = 1:" + std::to_string(j) + ":" + std::to_string(i);
288  h_Lyr1[j][i] = new TH2F(h_name, title, 100, -0.625, 0.625, 100, -2.24, 2.24);
289  h_Lyr1[j][i]->GetXaxis()->SetTitle("u (cm)");
290  h_Lyr1[j][i]->GetYaxis()->SetTitle("v (cm)");
291  }
292  }
293  //Create directory to store PXD and SVD trees
294  TDirectory* TreeDir = oldDir->mkdir("Trees_VXDOverlaps");
295  TreeDir->cd();
296  //Tree for PXD
297  t_PXD = new TTree("t_PXD", "Tree for PXD overlaps");
298  t_PXD->Branch("deltaResU_PXD", &deltaResU_PXD, "deltaResU_PXD/F");
299  t_PXD->Branch("intResU_PXD", &intResU_PXD, "intResU_PXD/F");
300  t_PXD->Branch("intResV_PXD", &intResV_PXD, "intResV_PXD/F");
301  t_PXD->Branch("intU_PXD", &intU_PXD, "intU_PXD/F");
302  t_PXD->Branch("intV_PXD", &intV_PXD, "intV_PXD/F");
303  t_PXD->Branch("intPhi_PXD", &intPhi_PXD, "intPhi_PXD/F");
304  t_PXD->Branch("intZ_PXD", &intZ_PXD, "intZ_PXD/F");
305  t_PXD->Branch("intLayer_PXD", &intLayer_PXD, "intLayer_PXD/i");
306  t_PXD->Branch("intLadder_PXD", &intLadder_PXD, "intLadder_PXD/i");
307  t_PXD->Branch("intSensor_PXD", &intSensor_PXD, "intSensor_PXD/i");
308  t_PXD->Branch("extResU_PXD", &extResU_PXD, "extResU_PXD/F");
309  t_PXD->Branch("extResV_PXD", &extResV_PXD, "extResV_PXD/F");
310  t_PXD->Branch("extU_PXD", &extU_PXD, "extU_PXD/F");
311  t_PXD->Branch("extV_PXD", &extV_PXD, "extV_PXD/F");
312  t_PXD->Branch("extPhi_PXD", &extPhi_PXD, "extPhi_PXD/F");
313  t_PXD->Branch("extZ_PXD", &extZ_PXD, "extZ_PXD/F");
314  t_PXD->Branch("extLayer_PXD", &extLayer_PXD, "extLayer_PXD/i");
315  t_PXD->Branch("extLadder_PXD", &extLadder_PXD, "extLadder_PXD/i");
316  t_PXD->Branch("extSensor_PXD", &extSensor_PXD, "extSensor_PXD/i");
317  //Tree for SVD u overlapping clusters
318  t_SVD_U = new TTree("t_SVD_U", "Tree for SVD u-overlaps");
319  t_SVD_U->Branch("deltaRes", &deltaRes_SVD_U, "deltaResU/F");
320  t_SVD_U->Branch("intRes", &intRes_SVD_U, "intRes/F");
321  t_SVD_U->Branch("intClPos", &intClPos_SVD_U, "intClPos/F");
322  t_SVD_U->Branch("intClPosErr", &intClPosErr_SVD_U, "intClPosErr/F");
323  t_SVD_U->Branch("intTruePos", &intTruePos_SVD_U, "intTruePos/F");
324  t_SVD_U->Branch("intClPhi", &intClPhi_SVD_U, "intClPhi/F");
325  t_SVD_U->Branch("intClZ", &intClZ_SVD_U, "intClZ/F");
326  t_SVD_U->Branch("intTrkPos", &intTrkPos_SVD_U, "intTrkPos/F");
327  t_SVD_U->Branch("intTrkPosErr", &intTrkPosErr_SVD_U, "intTrkPosErr/F");
328  t_SVD_U->Branch("intTrkQoP", &intTrkQoP_SVD_U, "intTrkQoP/F");
329  t_SVD_U->Branch("intTrkPrime", &intTrkPrime_SVD_U, "intTrkPrime/F");
330  t_SVD_U->Branch("intLayer", &intLayer_SVD_U, "intLayer/i");
331  t_SVD_U->Branch("intLadder", &intLadder_SVD_U, "intLadder/i");
332  t_SVD_U->Branch("intSensor", &intSensor_SVD_U, "intSensor/i");
333  t_SVD_U->Branch("intSize", &intSize_SVD_U, "intSize/i");
334  t_SVD_U->Branch("deltaRes", &deltaRes_SVD_U, "deltaResU/F");
335  t_SVD_U->Branch("extRes", &extRes_SVD_U, "extRes/F");
336  t_SVD_U->Branch("extClPos", &extClPos_SVD_U, "extClPos/F");
337  t_SVD_U->Branch("extClPosErr", &extClPosErr_SVD_U, "extClPosErr/F");
338  t_SVD_U->Branch("extTruePos", &extTruePos_SVD_U, "extTruePos/F");
339  t_SVD_U->Branch("extClPhi", &extClPhi_SVD_U, "extClPhi/F");
340  t_SVD_U->Branch("extClZ", &extClZ_SVD_U, "extClZ/F");
341  t_SVD_U->Branch("extTrkPos", &extTrkPos_SVD_U, "extTrkPos/F");
342  t_SVD_U->Branch("extTrkPosErr", &extTrkPosErr_SVD_U, "extTrkPosErr/F");
343  t_SVD_U->Branch("extTrkQoP", &extTrkQoP_SVD_U, "extTrkQoP/F");
344  t_SVD_U->Branch("extTrkPrime", &extTrkPrime_SVD_U, "extTrkPrime/F");
345  t_SVD_U->Branch("extLayer", &extLayer_SVD_U, "extLayer/i");
346  t_SVD_U->Branch("extLadder", &extLadder_SVD_U, "extLadder/i");
347  t_SVD_U->Branch("extSensor", &extSensor_SVD_U, "extSensor/i");
348  t_SVD_U->Branch("extSize", &extSize_SVD_U, "extSize/i");
349  //Tree for SVD v overlapping clusters
350  t_SVD_V = new TTree("t_SVD_V", "Tree for SVD v-overlaps");
351  t_SVD_V->Branch("deltaRes", &deltaRes_SVD_V, "deltaResV/F");
352  t_SVD_V->Branch("intRes", &intRes_SVD_V, "intRes/F");
353  t_SVD_V->Branch("intClPos", &intClPos_SVD_V, "intClPos/F");
354  t_SVD_V->Branch("intClPosErr", &intClPosErr_SVD_V, "intClPosErr/F");
355  t_SVD_V->Branch("intTruePos", &intTruePos_SVD_V, "intTruePos/F");
356  t_SVD_V->Branch("intClPhi", &intClPhi_SVD_V, "intClPhi/F");
357  t_SVD_V->Branch("intClZ", &intClZ_SVD_V, "intClZ/F");
358  t_SVD_V->Branch("intTrkPos", &intTrkPos_SVD_V, "intTrkPos/F");
359  t_SVD_V->Branch("intTrkPosErr", &intTrkPosErr_SVD_V, "intTrkPosErr/F");
360  t_SVD_V->Branch("intTrkQoP", &intTrkQoP_SVD_V, "intTrkQoP/F");
361  t_SVD_V->Branch("intTrkPrime", &intTrkPrime_SVD_V, "intTrkPrime/F");
362  t_SVD_V->Branch("intLayer", &intLayer_SVD_V, "intLayer/i");
363  t_SVD_V->Branch("intLadder", &intLadder_SVD_V, "intLadder/i");
364  t_SVD_V->Branch("intSensor", &intSensor_SVD_V, "intSensor/i");
365  t_SVD_V->Branch("intSize", &intSize_SVD_V, "intSize/i");
366  t_SVD_V->Branch("deltaRes", &deltaRes_SVD_V, "deltaResV/F");
367  t_SVD_V->Branch("extRes", &extRes_SVD_V, "extRes/F");
368  t_SVD_V->Branch("extClPos", &extClPos_SVD_V, "extClPos/F");
369  t_SVD_V->Branch("extClPosErr", &extClPosErr_SVD_V, "extClPosErr/F");
370  t_SVD_V->Branch("extTruePos", &extTruePos_SVD_V, "extTruePos/F");
371  t_SVD_V->Branch("extClPhi", &extClPhi_SVD_V, "extClPhi/F");
372  t_SVD_V->Branch("extClZ", &extClZ_SVD_V, "extClZ/F");
373  t_SVD_V->Branch("extTrkPos", &extTrkPos_SVD_V, "extTrkPos/F");
374  t_SVD_V->Branch("extTrkPosErr", &extTrkPosErr_SVD_V, "extTrkPosErr/F");
375  t_SVD_V->Branch("extTrkQoP", &extTrkQoP_SVD_V, "extTrkQoP/F");
376  t_SVD_V->Branch("extTrkPrime", &extTrkPrime_SVD_V, "extTrkPrime/F");
377  t_SVD_V->Branch("extLayer", &extLayer_SVD_V, "extLayer/i");
378  t_SVD_V->Branch("extLadder", &extLadder_SVD_V, "extLadder/i");
379  t_SVD_V->Branch("extSensor", &extSensor_SVD_V, "extSensor/i");
380  t_SVD_V->Branch("extSize", &extSize_SVD_V, "extSize/i");
381  }
382  //Go back to the default output directory
383  oldDir->cd();
384 }

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

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


The documentation for this class was generated from the following files:
Belle2::OverlapResidualsModule::h_DeltaResUPhi_Lyr4
TH2F * h_DeltaResUPhi_Lyr4
2D histogram of DeltaRes_u vs phi of VXD overlaps for layer 4
Definition: OverlapResidualsModule.h:108
Belle2::OverlapResidualsModule::extZ_PXD
float extZ_PXD
tree t_PXD branch extZ_PXD/F
Definition: OverlapResidualsModule.h:188
Belle2::OverlapResidualsModule::h_U_DeltaRes
TH1F * h_U_DeltaRes
Histogram of VXD ( PXD + SVD ) differences of u-coordinate residuals.
Definition: OverlapResidualsModule.h:68
Belle2::OverlapResidualsModule::extTrkPosErr_SVD_V
float extTrkPosErr_SVD_V
V external track position error.
Definition: OverlapResidualsModule.h:244
Belle2::OverlapResidualsModule::intSize_SVD_V
unsigned int intSize_SVD_V
V internal size.
Definition: OverlapResidualsModule.h:250
Belle2::OverlapResidualsModule::h_DeltaResUz_Lyr3
TH2F * h_DeltaResUz_Lyr3
2D histogram of DeltaRes_u vs z of VXD overlaps for layer 3
Definition: OverlapResidualsModule.h:122
Belle2::OverlapResidualsModule::h_DeltaResVPhi_Lyr4
TH2F * h_DeltaResVPhi_Lyr4
2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 4
Definition: OverlapResidualsModule.h:144
Belle2::OverlapResidualsModule::t_PXD
TTree * t_PXD
Tree containing global information on PXD overlaps.
Definition: OverlapResidualsModule.h:170
Belle2::OverlapResidualsModule::t_SVD_U
TTree * t_SVD_U
Tree containing global information on SVD u-coordinate overlaps.
Definition: OverlapResidualsModule.h:172
Belle2::OverlapResidualsModule::h_U_Cl1Cl2_DeltaRes
TH1F * h_U_Cl1Cl2_DeltaRes[5]
Histogram of SVD differences of u-coordinate residuals grouped by clusters sizes.
Definition: OverlapResidualsModule.h:154
Belle2::OverlapResidualsModule::extResV_PXD
float extResV_PXD
tree t_PXD branch extResV_PXD/F
Definition: OverlapResidualsModule.h:184
Belle2::OverlapResidualsModule::intZ_PXD
float intZ_PXD
tree t_PXD branch intZ_PXD/F
Definition: OverlapResidualsModule.h:182
Belle2::OverlapResidualsModule::extTrkQoP_SVD_U
float extTrkQoP_SVD_U
U external track q/p.
Definition: OverlapResidualsModule.h:215
Belle2::OverlapResidualsModule::extTruePos_SVD_U
float extTruePos_SVD_U
U external true position.
Definition: OverlapResidualsModule.h:210
Belle2::OverlapResidualsModule::h_DeltaResUPhi_Lyr1
TH2F * h_DeltaResUPhi_Lyr1
2D Histogram of DeltaRes_u vs phi of VXD overlaps for layer 1
Definition: OverlapResidualsModule.h:114
Belle2::OverlapResidualsModule::h_Lyr3
TH2F * h_Lyr3[8][3]
Sensor hit-map for layer 3 from reconstructed u and v coordinates.
Definition: OverlapResidualsModule.h:164
Belle2::OverlapResidualsModule::intTrkPosErr_SVD_U
float intTrkPosErr_SVD_U
U internal track position error.
Definition: OverlapResidualsModule.h:204
Belle2::OverlapResidualsModule::h_DeltaResVz_Lyr3
TH2F * h_DeltaResVz_Lyr3
2D histogram of DeltaRes_v vs z of VXD overlaps for layer 3
Definition: OverlapResidualsModule.h:134
Belle2::OverlapResidualsModule::h_V_DeltaRes
TH1F * h_V_DeltaRes
Histogram of VXD ( PXD + SVD ) differences of v-coordinate residuals.
Definition: OverlapResidualsModule.h:70
Belle2::OverlapResidualsModule::h_U_DeltaRes_SVD_Lyr4
TH1F * h_U_DeltaRes_SVD_Lyr4
Histogram of SVD layer-4 u-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:88
Belle2::OverlapResidualsModule::intTruePos_SVD_V
float intTruePos_SVD_V
V internal true position.
Definition: OverlapResidualsModule.h:230
Belle2::OverlapResidualsModule::extClPosErr_SVD_V
float extClPosErr_SVD_V
V external cluster position error.
Definition: OverlapResidualsModule.h:239
Belle2::OverlapResidualsModule::extClPosErr_SVD_U
float extClPosErr_SVD_U
U external cluster position error.
Definition: OverlapResidualsModule.h:209
Belle2::OverlapResidualsModule::h_DeltaResUz_Lyr2
TH2F * h_DeltaResUz_Lyr2
2D histogram of DeltaRes_u vs z of VXD overlaps for layer 2
Definition: OverlapResidualsModule.h:124
Belle2::OverlapResidualsModule::intResV_PXD
float intResV_PXD
tree t_PXD branch intResV/PXD/F
Definition: OverlapResidualsModule.h:178
Belle2::OverlapResidualsModule::intSize_SVD_U
unsigned int intSize_SVD_U
U internal size.
Definition: OverlapResidualsModule.h:220
Belle2::OverlapResidualsModule::intTrkQoP_SVD_V
float intTrkQoP_SVD_V
V internal track q/p.
Definition: OverlapResidualsModule.h:235
Belle2::OverlapResidualsModule::intClPos_SVD_V
float intClPos_SVD_V
V internal cluster position.
Definition: OverlapResidualsModule.h:228
Belle2::OverlapResidualsModule::h_DeltaResUz_Lyr1
TH2F * h_DeltaResUz_Lyr1
2D histogram of DeltaRes_u vs z of VXD overlaps for layer 1
Definition: OverlapResidualsModule.h:126
Belle2::OverlapResidualsModule::extSize_SVD_V
unsigned int extSize_SVD_V
V external size.
Definition: OverlapResidualsModule.h:254
Belle2::OverlapResidualsModule::h_DeltaResUz_Lyr5
TH2F * h_DeltaResUz_Lyr5
2D histogram of DeltaRes_u vs z of VXD overlaps for layer 5
Definition: OverlapResidualsModule.h:118
Belle2::OverlapResidualsModule::extSize_SVD_U
unsigned int extSize_SVD_U
U external size.
Definition: OverlapResidualsModule.h:224
Belle2::OverlapResidualsModule::extSensor_SVD_U
unsigned int extSensor_SVD_U
U external sensor.
Definition: OverlapResidualsModule.h:223
Belle2::OverlapResidualsModule::extLayer_SVD_V
unsigned int extLayer_SVD_V
V external layer.
Definition: OverlapResidualsModule.h:251
Belle2::OverlapResidualsModule::extLayer_PXD
unsigned int extLayer_PXD
tree t_PXD branch extLayer_PXD/i
Definition: OverlapResidualsModule.h:192
Belle2::OverlapResidualsModule::extLadder_SVD_U
unsigned int extLadder_SVD_U
U external ladder.
Definition: OverlapResidualsModule.h:222
Belle2::OverlapResidualsModule::h_Lyr1
TH2F * h_Lyr1[9][3]
Sensor hit-map for layer 1 from reconstructed u and v coordinates.
Definition: OverlapResidualsModule.h:168
Belle2::OverlapResidualsModule::h_Lyr6
TH2F * h_Lyr6[17][6]
Sensor hit-map for layer 6 from reconstructed u and v coordinates.
Definition: OverlapResidualsModule.h:158
Belle2::OverlapResidualsModule::h_DeltaResVPhi_Lyr3
TH2F * h_DeltaResVPhi_Lyr3
2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 3
Definition: OverlapResidualsModule.h:146
Belle2::OverlapResidualsModule::h_V_Cl1Cl2_DeltaRes
TH1F * h_V_Cl1Cl2_DeltaRes[5]
Histogram of SVD differences of v-coordinate residuals grouped by clusters sizes.
Definition: OverlapResidualsModule.h:156
Belle2::OverlapResidualsModule::h_U_DeltaRes_SVD_Lyr6
TH1F * h_U_DeltaRes_SVD_Lyr6
Histogram of SVD layer-6 u-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:92
Belle2::OverlapResidualsModule::extU_PXD
float extU_PXD
tree t_PXD branch extU_PXD/F
Definition: OverlapResidualsModule.h:185
Belle2::OverlapResidualsModule::h_V_DeltaRes_SVD
TH1F * h_V_DeltaRes_SVD
Histogram of SVD v-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:94
Belle2::OverlapResidualsModule::deltaRes_SVD_U
float deltaRes_SVD_U
U difference between external and internal residual.
Definition: OverlapResidualsModule.h:196
Belle2::OverlapResidualsModule::intLayer_SVD_V
unsigned int intLayer_SVD_V
V internal layer.
Definition: OverlapResidualsModule.h:247
Belle2::OverlapResidualsModule::extResU_PXD
float extResU_PXD
tree t_PXD branch extResU_PXD/F
Definition: OverlapResidualsModule.h:183
Belle2::OverlapResidualsModule::h_V_DeltaRes_SVD_Lyr6
TH1F * h_V_DeltaRes_SVD_Lyr6
Histogram of SVD layer-6 v-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:102
Belle2::OverlapResidualsModule::extPhi_PXD
float extPhi_PXD
tree t_PXD branch extPhi/PXD/F
Definition: OverlapResidualsModule.h:187
Belle2::OverlapResidualsModule::intClPhi_SVD_V
float intClPhi_SVD_V
V internal cluster global phi.
Definition: OverlapResidualsModule.h:231
Belle2::OverlapResidualsModule::h_V_DeltaRes_SVD_Lyr4
TH1F * h_V_DeltaRes_SVD_Lyr4
Histogram of SVD layer-4 v-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:98
Belle2::OverlapResidualsModule::extRes_SVD_U
float extRes_SVD_U
U external residual computed by genfit.
Definition: OverlapResidualsModule.h:207
Belle2::OverlapResidualsModule::h_DeltaResVPhi_Lyr1
TH2F * h_DeltaResVPhi_Lyr1
2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 1
Definition: OverlapResidualsModule.h:150
Belle2::OverlapResidualsModule::intRes_SVD_V
float intRes_SVD_V
V internal residual computed by genfit.
Definition: OverlapResidualsModule.h:227
Belle2::OverlapResidualsModule::intClPosErr_SVD_V
float intClPosErr_SVD_V
V internal cluster position error.
Definition: OverlapResidualsModule.h:229
Belle2::OverlapResidualsModule::extSensor_PXD
unsigned int extSensor_PXD
tree t_PXD branch extSensor_PXD/i
Definition: OverlapResidualsModule.h:194
Belle2::OverlapResidualsModule::extLadder_SVD_V
unsigned int extLadder_SVD_V
V external ladder.
Definition: OverlapResidualsModule.h:252
Belle2::OverlapResidualsModule::extTrkPrime_SVD_V
float extTrkPrime_SVD_V
V external tan of incident angle projected on u,w.
Definition: OverlapResidualsModule.h:246
Belle2::OverlapResidualsModule::intRes_SVD_U
float intRes_SVD_U
U internal residual computed by genfit.
Definition: OverlapResidualsModule.h:197
Belle2::OverlapResidualsModule::intResU_PXD
float intResU_PXD
tree t_PXD branch intResU_PXD/F
Definition: OverlapResidualsModule.h:177
Belle2::OverlapResidualsModule::intTrkPrime_SVD_U
float intTrkPrime_SVD_U
U internal tan of incident angle projected on u,w.
Definition: OverlapResidualsModule.h:206
Belle2::OverlapResidualsModule::h_DeltaResVz_Lyr6
TH2F * h_DeltaResVz_Lyr6
2D histogram of DeltaRes_v vs z of VXD overlaps for layer 6
Definition: OverlapResidualsModule.h:128
Belle2::OverlapResidualsModule::intClZ_SVD_U
float intClZ_SVD_U
U internal cluster global Z.
Definition: OverlapResidualsModule.h:202
Belle2::OverlapResidualsModule::h_V_DeltaRes_PXD_Lyr1
TH1F * h_V_DeltaRes_PXD_Lyr1
Histogram of PXD layer-1 v-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:80
Belle2::OverlapResidualsModule::t_SVD_V
TTree * t_SVD_V
Tree containing global information on SVD v-coordinate overlaps.
Definition: OverlapResidualsModule.h:174
Belle2::OverlapResidualsModule::h_U_DeltaRes_SVD
TH1F * h_U_DeltaRes_SVD
Histogram of SVD u-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:84
Belle2::OverlapResidualsModule::h_U_DeltaRes_PXD_Lyr1
TH1F * h_U_DeltaRes_PXD_Lyr1
Histogram of PXD layer-1 u-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:74
Belle2::OverlapResidualsModule::intTrkPrime_SVD_V
float intTrkPrime_SVD_V
V internal tan of incident angle projected on u,w.
Definition: OverlapResidualsModule.h:236
Belle2::OverlapResidualsModule::h_V_DeltaRes_PXD_Lyr2
TH1F * h_V_DeltaRes_PXD_Lyr2
Histogram of PXD layer-2 v-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:82
Belle2::OverlapResidualsModule::intLadder_PXD
unsigned int intLadder_PXD
tree t_PXD branch intLadder_PXD/i
Definition: OverlapResidualsModule.h:190
Belle2::OverlapResidualsModule::intLayer_SVD_U
unsigned int intLayer_SVD_U
U internal layer.
Definition: OverlapResidualsModule.h:217
Belle2::OverlapResidualsModule::extV_PXD
float extV_PXD
tree t_PXD branch extV_PXD/F
Definition: OverlapResidualsModule.h:186
Belle2::OverlapResidualsModule::h_U_DeltaRes_PXD
TH1F * h_U_DeltaRes_PXD
Histogram of PXD u-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:72
Belle2::OverlapResidualsModule::intSensor_SVD_V
unsigned int intSensor_SVD_V
V internal sensor.
Definition: OverlapResidualsModule.h:249
Belle2::OverlapResidualsModule::intTrkPosErr_SVD_V
float intTrkPosErr_SVD_V
V internal track position error.
Definition: OverlapResidualsModule.h:234
Belle2::OverlapResidualsModule::extClPhi_SVD_U
float extClPhi_SVD_U
U external cluster global phi.
Definition: OverlapResidualsModule.h:211
Belle2::OverlapResidualsModule::extTrkPos_SVD_V
float extTrkPos_SVD_V
V external track position.
Definition: OverlapResidualsModule.h:243
Belle2::OverlapResidualsModule::h_DeltaResUPhi_Lyr5
TH2F * h_DeltaResUPhi_Lyr5
2D histogram of DeltaRes_u vs phi of VXD overlaps for layer 5
Definition: OverlapResidualsModule.h:106
Belle2::OverlapResidualsModule::h_DeltaResUPhi_Lyr3
TH2F * h_DeltaResUPhi_Lyr3
2D histogram of DeltaRes_u vs phi of VXD overlaps for layer 3
Definition: OverlapResidualsModule.h:110
Belle2::OverlapResidualsModule::intLadder_SVD_U
unsigned int intLadder_SVD_U
U internal ladder.
Definition: OverlapResidualsModule.h:218
Belle2::OverlapResidualsModule::extClZ_SVD_V
float extClZ_SVD_V
V external cluster global Z.
Definition: OverlapResidualsModule.h:242
Belle2::OverlapResidualsModule::extTrkPrime_SVD_U
float extTrkPrime_SVD_U
U external tan of incident angle projected on u,w.
Definition: OverlapResidualsModule.h:216
Belle2::OverlapResidualsModule::intPhi_PXD
float intPhi_PXD
tree t_PXD branch intPhi_PXD/F
Definition: OverlapResidualsModule.h:181
Belle2::OverlapResidualsModule::extTrkPos_SVD_U
float extTrkPos_SVD_U
U external track position.
Definition: OverlapResidualsModule.h:213
Belle2::OverlapResidualsModule::h_DeltaResVPhi_Lyr5
TH2F * h_DeltaResVPhi_Lyr5
2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 5
Definition: OverlapResidualsModule.h:142
Belle2::OverlapResidualsModule::extTrkQoP_SVD_V
float extTrkQoP_SVD_V
V external track q/p.
Definition: OverlapResidualsModule.h:245
Belle2::OverlapResidualsModule::intTrkQoP_SVD_U
float intTrkQoP_SVD_U
U internal track q/p.
Definition: OverlapResidualsModule.h:205
Belle2::OverlapResidualsModule::h_DeltaResVPhi_Lyr6
TH2F * h_DeltaResVPhi_Lyr6
2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 6
Definition: OverlapResidualsModule.h:140
Belle2::OverlapResidualsModule::extTrkPosErr_SVD_U
float extTrkPosErr_SVD_U
U external track position error.
Definition: OverlapResidualsModule.h:214
Belle2::OverlapResidualsModule::h_DeltaResUPhi_Lyr6
TH2F * h_DeltaResUPhi_Lyr6
2D histogram of DeltaRes_u vs phi of VXD overlaps for layer 6
Definition: OverlapResidualsModule.h:104
Belle2::OverlapResidualsModule::h_U_DeltaRes_SVD_Lyr3
TH1F * h_U_DeltaRes_SVD_Lyr3
Histogram of SVD layer-3 u-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:86
Belle2::OverlapResidualsModule::h_Lyr5
TH2F * h_Lyr5[13][5]
Sensor hit-map for layer 5 from reconstructed u and v coordinates.
Definition: OverlapResidualsModule.h:160
Belle2::OverlapResidualsModule::extClPos_SVD_V
float extClPos_SVD_V
V external cluster position.
Definition: OverlapResidualsModule.h:238
Belle2::OverlapResidualsModule::h_Lyr2
TH2F * h_Lyr2[13][3]
Sensor hit-map for layer 2 from reconstructed u and v coordinates.
Definition: OverlapResidualsModule.h:166
Belle2::OverlapResidualsModule::extSensor_SVD_V
unsigned int extSensor_SVD_V
V external sensor.
Definition: OverlapResidualsModule.h:253
Belle2::OverlapResidualsModule::intClPos_SVD_U
float intClPos_SVD_U
U internal cluster position.
Definition: OverlapResidualsModule.h:198
Belle2::OverlapResidualsModule::intLayer_PXD
unsigned int intLayer_PXD
tree t_PXD branch intLayer_PXD/i
Definition: OverlapResidualsModule.h:189
Belle2::OverlapResidualsModule::h_DeltaResVz_Lyr5
TH2F * h_DeltaResVz_Lyr5
2D histogram of DeltaRes_v vs z of VXD overlaps for layer 5
Definition: OverlapResidualsModule.h:130
Belle2::OverlapResidualsModule::h_DeltaResVPhi_Lyr2
TH2F * h_DeltaResVPhi_Lyr2
2D histogram of DeltaRes_v vs phi of VXD overlaps for layer 2
Definition: OverlapResidualsModule.h:148
Belle2::OverlapResidualsModule::intClZ_SVD_V
float intClZ_SVD_V
V internal cluster global Z.
Definition: OverlapResidualsModule.h:232
Belle2::OverlapResidualsModule::intTruePos_SVD_U
float intTruePos_SVD_U
U internal true position.
Definition: OverlapResidualsModule.h:200
Belle2::OverlapResidualsModule::h_DeltaResUz_Lyr6
TH2F * h_DeltaResUz_Lyr6
2D histogram of DeltaRes_u vs z of VXD overlaps for layer 6
Definition: OverlapResidualsModule.h:116
Belle2::OverlapResidualsModule::intClPhi_SVD_U
float intClPhi_SVD_U
U internal cluster global phi.
Definition: OverlapResidualsModule.h:201
Belle2::OverlapResidualsModule::h_V_DeltaRes_SVD_Lyr3
TH1F * h_V_DeltaRes_SVD_Lyr3
Histogram of SVD layer-3 v-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:96
Belle2::OverlapResidualsModule::extClPhi_SVD_V
float extClPhi_SVD_V
V external cluster global phi.
Definition: OverlapResidualsModule.h:241
Belle2::OverlapResidualsModule::h_U_DeltaRes_PXD_Lyr2
TH1F * h_U_DeltaRes_PXD_Lyr2
Histogram of PXD layer-2 u-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:76
Belle2::OverlapResidualsModule::intClPosErr_SVD_U
float intClPosErr_SVD_U
U internal cluster position error.
Definition: OverlapResidualsModule.h:199
Belle2::OverlapResidualsModule::h_Lyr4
TH2F * h_Lyr4[11][4]
Sensor hit-map for layer 4 from reconstructed u and v coordinates.
Definition: OverlapResidualsModule.h:162
Belle2::OverlapResidualsModule::intLadder_SVD_V
unsigned int intLadder_SVD_V
V internal ladder.
Definition: OverlapResidualsModule.h:248
Belle2::OverlapResidualsModule::deltaResU_PXD
float deltaResU_PXD
tree t_PXD branch deltaResU/F
Definition: OverlapResidualsModule.h:176
Belle2::OverlapResidualsModule::extClZ_SVD_U
float extClZ_SVD_U
U external cluster global Z.
Definition: OverlapResidualsModule.h:212
Belle2::OverlapResidualsModule::intSensor_SVD_U
unsigned int intSensor_SVD_U
U internal sensor.
Definition: OverlapResidualsModule.h:219
Belle2::OverlapResidualsModule::intTrkPos_SVD_U
float intTrkPos_SVD_U
U internal track position.
Definition: OverlapResidualsModule.h:203
Belle2::OverlapResidualsModule::h_DeltaResVz_Lyr1
TH2F * h_DeltaResVz_Lyr1
2D histogram of DeltaRes_v vs z of VXD overlaps for layer 1
Definition: OverlapResidualsModule.h:138
Belle2::OverlapResidualsModule::extClPos_SVD_U
float extClPos_SVD_U
U external cluster position.
Definition: OverlapResidualsModule.h:208
Belle2::OverlapResidualsModule::intSensor_PXD
unsigned int intSensor_PXD
tree t_PXD branch intSensor_PXD/i
Definition: OverlapResidualsModule.h:191
Belle2::OverlapResidualsModule::intV_PXD
float intV_PXD
tree t_PXD branch intV_PXD/F
Definition: OverlapResidualsModule.h:180
Belle2::OverlapResidualsModule::extRes_SVD_V
float extRes_SVD_V
V external residual computed by genfit.
Definition: OverlapResidualsModule.h:237
Belle2::OverlapResidualsModule::h_U_DeltaRes_SVD_Lyr5
TH1F * h_U_DeltaRes_SVD_Lyr5
Histogram of SVD layer-5 u-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:90
Belle2::OverlapResidualsModule::h_SVDstrips_Mult
TH1F * h_SVDstrips_Mult
Histogram of SVD strips multiplicity.
Definition: OverlapResidualsModule.h:152
Belle2::OverlapResidualsModule::extLadder_PXD
unsigned int extLadder_PXD
tree t_PXD branch extLadder_PXD/i
Definition: OverlapResidualsModule.h:193
Belle2::OverlapResidualsModule::h_V_DeltaRes_PXD
TH1F * h_V_DeltaRes_PXD
Histogram of PXD v-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:78
Belle2::OverlapResidualsModule::m_ExpertLevel
bool m_ExpertLevel
Expert level switch.
Definition: OverlapResidualsModule.h:60
Belle2::OverlapResidualsModule::intU_PXD
float intU_PXD
tree t_PXD branch intU_PXD/F
Definition: OverlapResidualsModule.h:179
Belle2::OverlapResidualsModule::h_V_DeltaRes_SVD_Lyr5
TH1F * h_V_DeltaRes_SVD_Lyr5
Histogram of SVD layer-5 v-coordinate differences of residuals.
Definition: OverlapResidualsModule.h:100
Belle2::OverlapResidualsModule::h_DeltaResVz_Lyr2
TH2F * h_DeltaResVz_Lyr2
2D histogram of DeltaRes_v vs z of VXD overlaps for layer 2
Definition: OverlapResidualsModule.h:136
Belle2::OverlapResidualsModule::deltaRes_SVD_V
float deltaRes_SVD_V
V difference between external and internal residual.
Definition: OverlapResidualsModule.h:226
Belle2::OverlapResidualsModule::h_DeltaResUz_Lyr4
TH2F * h_DeltaResUz_Lyr4
2D histogram of DeltaRes_u vs z of VXD overlaps for layer 4
Definition: OverlapResidualsModule.h:120
Belle2::OverlapResidualsModule::extTruePos_SVD_V
float extTruePos_SVD_V
V external true position.
Definition: OverlapResidualsModule.h:240
Belle2::OverlapResidualsModule::h_DeltaResUPhi_Lyr2
TH2F * h_DeltaResUPhi_Lyr2
2D histogram of DeltaRes_u vs phi of VXD overlaps for layer 2
Definition: OverlapResidualsModule.h:112
Belle2::OverlapResidualsModule::extLayer_SVD_U
unsigned int extLayer_SVD_U
U external layer.
Definition: OverlapResidualsModule.h:221
Belle2::OverlapResidualsModule::h_DeltaResVz_Lyr4
TH2F * h_DeltaResVz_Lyr4
2D histogram of DeltaRes_v vs z of VXD overlaps for layer 4
Definition: OverlapResidualsModule.h:132
Belle2::OverlapResidualsModule::intTrkPos_SVD_V
float intTrkPos_SVD_V
V internal track position.
Definition: OverlapResidualsModule.h:233