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

Module for checking SpacePointTrackCandidates for curling behaviour and splitting them into Track Candidate Stubs (each of them being a SpacePointTrackCand again) which do not show curling behaviour. More...

#include <CurlingTrackCandSplitterModule.h>

Inheritance diagram for CurlingTrackCandSplitterModule:
Collaboration diagram for CurlingTrackCandSplitterModule:

Classes

struct  RootVariables
 Internal DataStore for ROOT output variables. More...
 
struct  TaggedUVPos
 struct for easier handling of getting U- & V-position of SpacePoints and some difficulties that arise within this task. More...
 

Public Types

enum  {
  c_nSVDPlanes = 4 ,
  c_nPXDPlanes = 2 ,
  c_nPlanes = c_nSVDPlanes + c_nPXDPlanes
}
 Some constants for initialization.
 
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

 CurlingTrackCandSplitterModule ()
 Constructor.
 
void initialize () override
 initialize: initialize counters, register stuff in DataStore, check if all necessary StoreArrays are present, etc.
 
void event () override
 event: check SpacePointTrackCand for curling behaviour, split if needed (and wanted by user)
 
void terminate () override
 terminate: print some summary on the modules work
 
template<class TrueHit >
std::pair< const Belle2::B2Vector3< double >, const Belle2::B2Vector3< double > > getGlobalPositionAndMomentum (TrueHit *aTrueHit)
 Helper class to retrieve the global position and momentum of a TrueHit.
 
virtual std::vector< std::string > getFileNames (bool outputFiles)
 Return a list of output filenames for this modules. More...
 
virtual void beginRun ()
 Called when entering a new run. More...
 
virtual void endRun ()
 This method is called if the current run ends. 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

void initializeCounters ()
 initialize all counters to 0 for avoiding undeterministic behaviour.
 
const std::vector< int > checkTrackCandForCurling (const Belle2::SpacePointTrackCand &, RootVariables &rootVariables)
 Check if the track candidate is curling. More...
 
template<class TrueHit >
std::pair< const B2Vector3< double >, const B2Vector3< double > > getGlobalPositionAndMomentum (TrueHit *aTrueHit)
 Get the global position and momentum for a given TrueHit (PXD or SVD at the moment). More...
 
const std::vector< Belle2::SpacePointTrackCandsplitCurlingTrackCand (const Belle2::SpacePointTrackCand &SPTrackCand, int NTracklets, const std::vector< int > &splitIndices)
 Split a culring track candidate into (up to NTracklets) tracklets.
 
bool getDirectionOfFlight (std::pair< const B2Vector3< double >, const B2Vector3< double > > const &hitPosAndMom, const B2Vector3< double > &origin)
 determine the direction of flight of a particle for a given hit and the origin (assumed interaction point). More...
 
 BELLE2_DEFINE_EXCEPTION (FoundNoTrueHit, "Found no TrueHit for one (or more) Cluster(s). " "Without a TrueHit a decision if a TrackCand is curling is not possible")
 Exception for case when no TrueHit can be found for a Cluster.
 
 BELLE2_DEFINE_EXCEPTION (FoundNoCluster, "No related Cluster to a SpacePoint was found.")
 Exception for case when TrueHits for a given SpacePoint do not match (possible for e.g. More...
 
TaggedUVPos getUV (const SpacePoint *spacePoint)
 get U&V for a SpacePoint (via its relation to Clusters) (SpacePoint can only return normalized U&V coordinates). More...
 
template<class TrueHit >
void getValuesForRoot (const SpacePoint *spacePoint, const TrueHit *trueHit, RootVariables &rootVariables)
 Get The Values that are later written to a ROOT file.
 
void writeToRoot (const RootVariables &rootVariables)
 Write previously collected values to ROOT file.
 
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.
 

Protected Attributes

bool m_PARAMsplitCurlers
 indicating if the SpacePointTrackCands should only be analyzed for curling behaviour, or analyzed and split into TrackCand Stubs
 
std::string m_PARAMsptcName
 collection name of the SpacePointTrackCands to be analyzed
 
std::string m_PARAMcurlingOutFirstName
 collection name of the first outgoing (i.e. More...
 
std::string m_PARAMcurlingAllInName
 collection name of all ingoing parts of a curling TrackCand
 
std::string m_PARAMcurlingOutRestName
 collection name of all but the first outgoing parts of a curling TrackCand
 
std::string m_PARAMcompleteCurlerName
 collection name of all parts of a curling TrackCand
 
std::vector< double > m_PARAMsetOrigin
 set the origin to a specific point. More...
 
StoreArray< SpacePointTrackCandm_spacePointTCs
 SpacePointTrackCand StoreArray.
 
StoreArray< SpacePointTrackCandm_curlingFirstOuts
 Curling SpacePointTrackCand StoreArray.
 
StoreArray< SpacePointTrackCandm_curlingAllIns
 Curling SpacePointTrackCand StoreArray.
 
StoreArray< SpacePointTrackCandm_curlingRestOuts
 Curling SpacePointTrackCand StoreArray.
 
StoreArray< SpacePointTrackCandm_curlingCompletes
 Curling SpacePointTrackCand StoreArray.
 
int m_PARAMnTrackStubs
 maximum number of TrackCand Stubs to be stored for a curling TrackCand
 
bool m_saveCompleteCurler
 set to true if all parts of a curling TrackCand should be stored in a separate StoreArray (no parameter!)
 
B2Vector3< double > m_origin
 origin used internally (set from user set value)
 
int m_spacePointTCCtr
 Counter for presented SpacePointTrackCands.
 
int m_curlingTCCtr
 Counter for TrackCands that show curling behaviour.
 
int m_createdTrackStubsCtr
 Counter for created TrackCand Stubs by splitting a SpacePointTrackCand.
 
int m_noDecisionPossibleCtr
 Counter for TrackCands where a decision if curling or not is not possible.
 
int m_NoSingleTrueHitCtr
 Counter for SpacePoints that relate to more than one TrueHit.
 
int m_NoCurlingTCsCtr
 Counter for SPTCs that were not curling and hence were added to the StoreArray of first out parts.
 
bool m_PARAMuseNonSingleTHinPA
 Switch for using SpacePoints in position Analysis that are related to more than one TrueHit. More...
 
bool m_PARAMpositionAnalysis
 Set to true if output to ROOT file is desired with the positions and position differences of SpacePoints and TrueHits.
 
std::vector< std::string > m_PARAMrootFileName
 two entries accepted. More...
 
TFile * m_rootFilePtr
 Pointer to ROOT file.
 
TTree * m_treePtr
 Pointer to ROOT tree.
 
std::array< std::vector< double >, c_nPlanes > m_rootSpacePointXGlobals
 Global X-Positions of SpacePoints (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootSpacePointYGlobals
 Global Y-Positions of SpacePoints (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootSpacePointZGlobals
 Global Z-Positions of SpacePoints (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootSpacePointULocals
 Local U-Positions of SpacePoints (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootSpacePointVLocals
 Local V-Positions of SpacePoints (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootTrueHitXGlobals
 Global U-Positions of TrueHits (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootTrueHitYGlobals
 Global V-Positions of TrueHits (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootTrueHitZGlobals
 Global Z-Positions of TrueHits (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootTrueHitULocals
 Local X-Positions of TrueHits (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootTrueHitVLocals
 Local Y-Positions of TrueHits (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootPosResidueXGlobal
 X-position (global) difference between TrueHit and SpacePoint (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootPosResidueYGlobal
 Y-position (global) difference between TrueHit and SpacePoint (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootPosResidueZGlobal
 Z-position (global) difference between TrueHit and SpacePoint (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootPosResidueULocal
 U-position (local) differnece between TrueHit and SpacePoint (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootPosResidueVLocal
 V-position (local) difference between TrueHit and SpacePoint (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootLocalPosResiduals
 Local Position Residuals between TrueHits and SpacePoints (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootGlobalPosResiduals
 Global Position Residuals between TrueHits and SpacePoints (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootMisMatchPosDistance
 Distance of TrueHits that do not match but are related from one SpacePoint (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootMisMatchPosX
 Difference of X-positions (global) for mismatched TrueHits (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootMisMatchPosY
 Difference of Y-positions (global) for mismatched TrueHits (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootMisMatchPosZ
 Difference of Z-positions (global) for mismatched TrueHits (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootMisMatchPosU
 Difference of U-positions (local) for mismatched TrueHits (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootMisMatchPosV
 Difference of V-positions (local) for mismatched TrueHits (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootMisMatchMomX
 Difference of Momentum in X-Direction for TrueHits that do not match but are related from one SpacePoint (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootMisMatchMomY
 Difference of Momentum in Y-Direction for TrueHits that do not match but are related from one SpacePoint (layerwise)
 
std::array< std::vector< double >, c_nPlanes > m_rootMisMatchMomZ
 Difference of Momentum in Z-Direction for TrueHits that do not match but are related from one SpacePoint (layerwise)
 

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

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

Module for checking SpacePointTrackCandidates for curling behaviour and splitting them into Track Candidate Stubs (each of them being a SpacePointTrackCand again) which do not show curling behaviour.

NOTE: If talking of a 'TrackCand' (in this documentation or in the code) it is assumed to be a SpacePointTrackCand if not stated explicitly otherwise

Some statements on how the module works on checking if a SpacePointTrackCand is curling: 1) convert genfit::TrackCand to SpacePointTrackCand 2) for every SpacePoint in SpacePointTrackCand get Cluster(s) and from them get the according TrueHit(s). 4) Check if the TrueHits are compatible (explanation below) 3) From TrueHit get position and momentum of hit (in global coordinates) and decide with this information if the particles direction of flight is inwards our outwards (i.e. towards or away from set origin) 4) If Direction changes from one SpacePoint to another -> split SpacePointTrackCand

Explanation of compatible TrueHits: For all Clusters related from a SpacePoint all related TrueHits are collected. If there is one (or more) shared TrueHit this is considered to be compatible (regardless of other non-matching TrueHits)

WARNING: deprecated: use SPTCReferee instead to check SPTCs for curling!

Definition at line 48 of file CurlingTrackCandSplitterModule.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 77 of file Module.h.

Member Function Documentation

◆ beginRun()

virtual void beginRun ( void  )
inlinevirtualinherited

Called when entering a new run.

Called at the beginning of each run, the method gives you the chance to change run dependent constants like alignment parameters, etc.

This method can be implemented by subclasses.

Reimplemented in DQMHistOutputToEPICSModule, DQMHistInjectionModule, DQMHistAnalysisTRGModule, DQMHistAnalysisRunNrModule, DQMHistAnalysisRooFitExampleModule, DQMHistAnalysisPXDTrackChargeModule, DQMHistAnalysisPXDReductionModule, DQMHistAnalysisPXDInjectionModule, DQMHistAnalysisPXDEffModule, DQMHistAnalysisPXDDAQModule, DQMHistAnalysisPXDCMModule, DQMHistAnalysisPXDChargeModule, DQMHistAnalysisEpicsOutputModule, DQMHistAnalysisDeltaTestModule, DQMHistAnalysisDeltaEpicsMonObjExampleModule, vxdDigitMaskingModule, VXDDQMExpressRecoModule, TrackingAbortDQMModule, PXDROIFinderAnalysisModule, PXDdigiFilterModule, PXDclusterFilterModule, SVDUnpackerDQMModule, SVDDQMInjectionModule, SVDDQMExpressRecoModule, SVDDQMDoseModule, SVDDQMClustersOnTrackModule, DetectorOccupanciesDQMModule, TTDDQMModule, PXDUnpackerModule, PXDPackerModule, PXDDigitizerModule, PXDTrackClusterDQMModule, PXDROIDQMModule, PXDRawDQMModule, PXDRawDQMCorrModule, PXDInjectionDQMModule, PXDGatedModeDQMModule, PXDGatedDHCDQMModule, PXDDQMExpressRecoModule, PXDDQMEfficiencySelftrackModule, PXDDQMEfficiencyModule, PXDDQMCorrModule, PXDDQMClustersModule, PXDDAQDQMModule, PXDMCBgTupleProducerModule, PXDBgTupleProducerModule, PyModule, ECLDQMInjectionModule, V0ObjectsDQMModule, DelayDQMModule, DAQMonitorModule, DQMHistSnapshotsModule, DQMHistDeltaHistoModule, DQMHistComparitorModule, DQMHistAnalysisTRGECLModule, DQMHistAnalysisTrackingHLTModule, DQMHistAnalysisTOPModule, DQMHistAnalysisSVDOnMiraBelleModule, DQMHistAnalysisSVDGeneralModule, DQMHistAnalysisSVDEfficiencyModule, DQMHistAnalysisSVDDoseModule, DQMHistAnalysisPXDFitsModule, DQMHistAnalysisPXDERModule, DQMHistAnalysisOutputRelayMsgModule, DQMHistAnalysisOutputMonObjModule, DQMHistAnalysisOutputFileModule, DQMHistAnalysisMiraBelleModule, DQMHistAnalysisKLM2Module, DQMHistAnalysisKLMModule, DQMHistAnalysisIPModule, DQMHistAnalysisInputTestModule, DQMHistAnalysisInputRootFileModule, DQMHistAnalysisInputPVSrvModule, DQMHistAnalysisHLTModule, DQMHistAnalysisExampleFlagsModule, DQMHistAnalysisExampleModule, DQMHistAnalysisEventT0TriggerJitterModule, DQMHistAnalysisEventT0EfficiencyModule, DQMHistAnalysisEpicsExampleModule, DQMHistAnalysisECLSummaryModule, DQMHistAnalysisECLShapersModule, DQMHistAnalysisECLConnectedRegionsModule, DQMHistAnalysisECLModule, DQMHistAnalysisDAQMonObjModule, DQMHistAnalysisCDCMonObjModule, DQMHistAnalysisCDCDedxModule, VXDMisalignmentModule, TRGRAWDATAModule, TRGTOPWaveformPlotterModule, TRGTOPUnpackerWaveformModule, TRGTOPUnpackerModule, TRGTOPTRD2TTSConverterModule, TRGTOPDQMModule, KLMTriggerModule, TRGGRLUnpackerModule, TRGGRLDQMModule, TRGGRLProjectsModule, TRGGRLModule, TRGGRLMatchModule, TRGGDLUnpackerModule, TRGGDLSummaryModule, TRGGDLDSTModule, TRGGDLDQMModule, TRGGDLModule, TRGECLUnpackerModule, TRGECLTimingCalModule, TRGECLRawdataAnalysisModule, TRGECLQAMModule, TRGECLEventTimingDQMModule, TRGECLDQMModule, TRGECLBGTCHitModule, TRGECLModule, TRGECLFAMModule, MCMatcherTRGECLModule, CDCTriggerUnpackerModule, TRGCDCTSStreamModule, TRGCDCTSFUnpackerModule, TRGCDCTSFDQMModule, TRGCDCT3DUnpackerModule, TRGCDCT3DDQMModule, TRGCDCT3DConverterModule, TRGCDCT2DDQMModule, TRGCDCETFUnpackerModule, TRGCDCModule, CDCTriggerTSFModule, CDCTriggerNDFinderModule, CDCTriggerNeuroDQMOnlineModule, CDCTriggerNeuroDQMModule, FindletModule< AFindlet >, FindletModule< TrackFinderAutomaton >, FindletModule< FacetCreator >, FindletModule< CKFToCDCFromEclFindlet >, FindletModule< AxialTrackCreatorMCTruth >, FindletModule< AxialStraightTrackFinder >, FindletModule< CKFToCDCFindlet >, FindletModule< CKFToSVDSeedFindlet >, FindletModule< SegmentLinker >, FindletModule< TrackCreatorSegmentTripleAutomaton >, FindletModule< TrackCreatorSegmentPairAutomaton >, FindletModule< SegmentOrienter >, FindletModule< SegmentCreatorFacetAutomaton >, FindletModule< TrackFinderSegmentTripleAutomaton >, FindletModule< SegmentFinderFacetAutomaton >, FindletModule< CKFToSVDFindlet >, FindletModule< TrackRejecter >, FindletModule< SegmentCreatorMCTruth >, FindletModule< TrackFinderCosmics >, FindletModule< TrackExporter >, FindletModule< SuperClusterCreator >, FindletModule< AsicBackgroundLibraryCreator >, FindletModule< HitBasedT0Extractor >, FindletModule< TrackFinderSegmentPairAutomaton >, FindletModule< ClusterPreparer >, FindletModule< AxialTrackFinderHough >, FindletModule< CosmicsTrackMergerFindlet >, FindletModule< TrackOrienter >, FindletModule< TrackLinker >, FindletModule< TrackFinder >, FindletModule< SegmentPairCreator >, FindletModule< MonopoleAxialTrackFinderLegendre >, FindletModule< HitReclaimer >, FindletModule< ClusterRefiner< BridgingWireHitRelationFilter > >, FindletModule< AxialTrackFinderLegendre >, FindletModule< AxialTrackCreatorSegmentHough >, FindletModule< TrackQualityEstimator >, FindletModule< StereoHitFinder >, FindletModule< CKFToPXDFindlet >, FindletModule< WireHitPreparer >, FindletModule< TrackFlightTimeAdjuster >, FindletModule< TrackCreatorSingleSegments >, FindletModule< SegmentRejecter >, FindletModule< SegmentFitter >, FindletModule< SegmentTripleCreator >, FindletModule< SegmentTrackCombiner >, FindletModule< vxdHoughTracking::SVDHoughTracking >, FindletModule< MCVXDCDCTrackMergerFindlet >, FindletModule< TrackCombiner >, FindletModule< MonopoleStereoHitFinder >, FindletModule< DATCONFPGAFindlet >, FindletModule< WireHitBackgroundDetector >, FindletModule< AxialSegmentPairCreator >, FindletModule< WireHitCreator >, FindletModule< TrackQualityAsserter >, FindletModule< MonopoleStereoHitFinderQuadratic >, FindletModule< ClusterBackgroundDetector >, FindletModule< CDCTrackingEventLevelMdstInfoFillerFindlet >, VXDTFTrainingDataCollectorModule, TrackFinderVXDCellOMatModule, TrackFinderVXDBasicPathFinderModule, SegmentNetworkProducerModule, SectorMapBootstrapModule, VXDQualityEstimatorMVAModule, VXDQETrainingDataCollectorModule, QualityEstimatorVXDModule, VXDSimpleClusterizerModule, TrackFinderVXDAnalizerModule, SecMapTrainerVXDTFModule, SecMapTrainerBaseModule, TrackQualityEstimatorMVAModule, TrackQETrainingDataCollectorModule, V0findingPerformanceEvaluationModule, TrackingPerformanceEvaluationModule, HitXPModule, EffPlotsModule, TrackFinderMCTruthRecoTracksModule, TrackCreatorModule, SVDROIFinderModule, SVDROIFinderAnalysisModule, SPTCvirtualIPRemoverModule, SPTCmomentumSeedRetrieverModule, PXDROIFinderModule, MuidModule, MCTrackCandClassifierModule, MCV0MatcherModule, BeamSpotMonitorModule, FlipQualityModule, ExtModule, DQMHistoModuleBase, TOPXTalkChargeShareSetterModule, TOPWaveformFeatureExtractorModule, TOPUnpackerModule, TOPTimeRecalibratorModule, TOPTimeBaseCalibratorModule, TOPTBCComparatorModule, TOPRawDigitConverterModule, TOPPackerModule, TOPNtupleModule, TOPModuleT0CalibratorModule, TOPMCTrackMakerModule, TOPLaserCalibratorModule, TOPInterimFENtupleModule, TOPLaserHitSelectorModule, TOPGainEfficiencyCalculatorModule, TOPDQMModule, TOPDoublePulseGeneratorModule, TOPTriggerDigitizerModule, TOPDigitizerModule, TOPChannelT0MCModule, TOPChannelMaskerModule, TOPBunchFinderModule, TOPBackgroundModule, SVDUnpackerModule, SVDTimeGroupingModule, SVDSpacePointCreatorModule, SVDTriggerQualityGeneratorModule, SVDEventInfoSetterModule, SVDDigitizerModule, SVD3SamplesEmulatorModule, SVDRecoDigitCreatorModule, SVDMissingAPVsClusterCreatorModule, SVDDataFormatCheckModule, SVDCoGTimeEstimatorModule, SVDClusterizerModule, SVDShaperDigitsFromTracksModule, SVDPerformanceTTreeModule, SVDPerformanceModule, SVDOccupancyAnalysisModule, SVDMaxStripTTreeModule, SVDClusterFilterModule, SVDClusterEvaluationTrueInfoModule, SVDClusterEvaluationModule, SVDB4CommissioningPlotsModule, SVDPackerModule, svdDumpModule, SVDDQMHitTimeModule, SVDTimeCalibrationsMonitorModule, SVDPositionErrorScaleFactorImporterModule, SVDLocalCalibrationsMonitorModule, SVDLocalCalibrationsCheckModule, SVDLatencyCalibrationModule, SVDHotStripFinderModule, SVDClusterCalibrationsMonitorModule, SVDBackgroundModule, MaterialScanModule, FullSimModule, PIDNtupleModule, MdstPIDModule, KlongValidationModule, KLMExpertModule, ECLExpertModule, DataWriterModule, EventT0DQMModule, CDCDedxValidationModule, CDCDedxDQMModule, Convert2RawDetModule, PXDClusterizerModule, PXDPerformanceModule, PXDClustersFromTracksModule, PXDRawDQMChipsModule, PXDBackgroundModule, AWESOMEBasicModule, MVAPrototypeModule, MVAMultipleExpertsModule, MVAExpertModule, KLMUnpackerModule, KLMScintillatorSimulatorModule, KLMReconstructorModule, KLMPackerModule, KLMDQM2Module, KLMDQMModule, KLMDigitTimeShifterModule, KLMDigitizerModule, KLMClustersReconstructorModule, KLMClusterEfficiencyModule, KLMClusterAnaModule, EKLMDataCheckerModule, BKLMTrackingModule, BKLMSimHistogrammerModule, BKLMDigitAnalyzerModule, BKLMAnaModule, StatisticsTimingHLTDQMModule, SoftwareTriggerHLTDQMModule, SoftwareTriggerModule, ExportGeometryModule, CreateFieldMapModule, KKGenInputModule, OverrideGenerationFlagsModule, EvtGenInputModule, EvtGenDecayModule, TxModule, RxModule, SeqRootOutputModule, SeqRootInputModule, StatisticsSummaryModule, HistoManagerModule, GearboxModule, RandomBarrierModule, ProgressModule, IoVDependentConditionModule, EventLimiterModule, EventInfoPrinterModule, SwitchDataStoreModule, SubEventModule, HistoModule, ECLWaveformFitModule, ECLUnpackerModule, ECLSplitterN2Module, ECLSplitterN1Module, ECLShowerShapeModule, ECLShowerCorrectorModule, ECLShowerCalibratorModule, ECLPackerModule, ECLLOMModule, ECLLocalRunCalibratorModule, ECLLocalMaximumFinderModule, ECLHitDebugModule, ECLFinalizerModule, ECLDQMOutOfTimeDigitsModule, ECLDQMEXTENDEDModule, ECLDQMConnectedRegionsModule, ECLDQMModule, EclDisplayModule, ECLDigitizerPureCsIModule, ECLDigitizerModule, ECLDigitCalibratorModule, ECLDataAnalysisModule, ECLCRFinderModule, ECLCovarianceMatrixModule, ECLClusterPSDModule, ECLChargedPIDMVAModule, ECLChargedPIDDataAnalysisValidationModule, ECLChargedPIDDataAnalysisModule, ECLChargedPIDModule, ECLBackgroundModule, PhysicsObjectsMiraBelleModule, PhysicsObjectsMiraBelleHadronModule, PhysicsObjectsMiraBelleDstModule, PhysicsObjectsMiraBelleDst2Module, PhysicsObjectsMiraBelleBhabhaModule, PhysicsObjectsDQMModule, IPDQMModule, DQMHistAnalysisInputModule, StorageSerializerModule, StorageDeserializerModule, SeqRootMergerModule, PartialSeqRootReaderModule, Ds2RawFileModule, Rbuf2RbufModule, Rbuf2DsModule, RawInputModule, Raw2DsModule, FastRbuf2DsModule, EvReductionModule, Ds2RbufModule, Ds2RawModule, CertifyParallelModule, SerializerModule, MonitorDataCOPPERModule, GenRawSendModule, DeSerializerPXDModule, ElapsedTimeModule, HLTDQM2ZMQModule, ReceiveEventModule, Ds2SampleModule, TrackAnaModule, MonitorDataModule, DqmHistoManagerModule, TxSocketModule, RxSocketModule, DAQPerfModule, CDCUnpackerModule, CDCRecoTrackFilterModule, CDCPackerModule, CDCDQMModule, cdcDQM7Module, CDCCRTestModule, CDCCosmicAnalysisModule, QcsmonitorStudyModule, QcsmonitorDigitizerModule, PlumeDigitizerModule, PindiodeStudyModule, PinDigitizerModule, TPCStudyModule, TpcDigitizerModule, MicrotpcStudyModule, He3tubeStudyModule, He3DigitizerModule, FANGSStudyModule, FANGSDigitizerModule, DosiStudyModule, DosiDigitizerModule, CsIStudyModule, CsiStudy_v2Module, CsiModule, CsIDigitizerModule, CsiDigitizer_v2Module, ClawsStudyModule, ClawsDigitizerModule, ClawStudyModule, ClawDigitizerModule, BgoStudyModule, BgoDigitizerModule, BeamDigitizerModule, BeamabortStudyModule, ReprocessorModule, NtuplePhase1_v6Module, AnalysisPhase1StudyModule, BGOverlayInputModule, BeamBkgTagSetterModule, BeamBkgMixerModule, BeamBkgHitRateMonitorModule, BeamBkgGeneratorModule, BelleMCOutputModule, B2BIIMdstInputModule, B2BIIFixMdstModule, B2BIIConvertMdstModule, B2BIIConvertBeamParamsModule, B2BIIMCParticlesMonitorModule, ARICHReconstructorModule, ARICHRateCalModule, ARICHDQMModule, ARICHDigitizerModule, arichBtestModule, TreeFitterModule, TagVertexModule, PhotonEfficiencySystematicsModule, ParticleVertexFitterModule, LowEnergyPi0VetoExpertModule, LowEnergyPi0IdentificationExpertModule, CurlTaggerModule, ChargedPidMVAMulticlassModule, ChargedPidMVAModule, EnergyBiasCorrectionModule, CosmicsAlignmentValidationModule, EventsOfDoomBusterModule, CalibrationCollectorModule, GetEventFromSocketModule, SrsensorModule, QcsmonitorModule, PlumeModule, PindiodeModule, Ph1sustrModule, Ph1bpipeModule, MicrotpcModule, He3tubeModule, FANGSModule, DosiModule, CLAWSModule, ClawModule, CaveModule, BgoModule, BeamabortModule, and ARICHBackgroundModule.

Definition at line 147 of file Module.h.

◆ BELLE2_DEFINE_EXCEPTION()

BELLE2_DEFINE_EXCEPTION ( FoundNoCluster  ,
"No related Cluster to a SpacePoint was found."   
)
protected

Exception for case when TrueHits for a given SpacePoint do not match (possible for e.g.

SVD SpacePoint consisting of two SVDClusters) Exception thrown, when no relation to a Cluster can be found for a SpacePoint. This should never happen, since only SpacePoints related from a Cluster get into the SpacePointTrackCand in the first place.

◆ checkTrackCandForCurling()

const std::vector< int > checkTrackCandForCurling ( const Belle2::SpacePointTrackCand SPTrackCand,
RootVariables rootVariables 
)
protected

Check if the track candidate is curling.

Returns the indices of SpacePoint where the Track Candidate changes direction (i.e. changes its direction of flight from outwards to inwards or vice versa). If the first entry of this vector is 0, this means, that the direction of flight for the first hit of this particle was towards the (assumed) interaction point!!

Definition at line 338 of file CurlingTrackCandSplitterModule.cc.

340 {
341  const std::vector<const Belle2::SpacePoint*>& tcSpacePoints = SPTrackCand.getHits();
342  unsigned int nHits = SPTrackCand.getNHits();
343 
344  B2DEBUG(21, "SpacePointTrackCand contains " << nHits << " SpacePoints");
345 
346  std::vector<int> returnVector; // fill this vector with indices, if no indices can be found, leave it empty
347 
348  std::pair<bool, bool>
349  directions; // only store the last two directions to decide if it has changed or not. .first is always last hit, .second is present hit.
350  directions.first =
351  true; // assume that the track points outwards from the interaction point at first. NOTE: this assumption is not dangerous here (it is in other places because it does not have to be the case). The information on the direction of flight for the first hit is stored in the returnVector itself. If the first entry is 0 (this means that the trackCand first 'pointed' towards the interaction point)
352 
353  for (unsigned int iHit = 0; iHit < nHits; ++iHit) {
354  const SpacePoint* spacePoint = tcSpacePoints[iHit];
355  auto detType = spacePoint->getType();
356 
357  B2DEBUG(21, "Now checking SpacePoint " << iHit << " in SPTC. This SpacePoint has Index " << spacePoint->getArrayIndex() <<
358  " in StoreArray " << spacePoint->getArrayName());
359 
360  // get global position and momentum for every spacePoint in the SpacePointTrackCand
361  std::pair<B2Vector3<double>, B2Vector3<double> > hitGlobalPosMom;
362 
363  if (detType == VXD::SensorInfoBase::PXD) {
364  // first get PXDCluster, from that get TrueHit
365  PXDCluster* pxdCluster =
366  spacePoint->getRelatedTo<PXDCluster>("ALL"); // COULDDO: search only certain Cluster Arrays -> get name somehow
367  // CAUTION: only looking for one TrueHit here, but there could actually be more of them 'molded' into one Cluster
368  PXDTrueHit* pxdTrueHit =
369  pxdCluster->getRelatedTo<PXDTrueHit>("ALL"); // COULDDO: search only certain PXDTrueHit arrays -> new parameter for module
370 
371  if (pxdTrueHit == nullptr) {
372  B2DEBUG(21, "Found no PXDTrueHit for PXDCluster " << pxdCluster->getArrayIndex() << " from Array " << pxdCluster->getArrayName() <<
373  ". This PXDCluster is related with SpacePoint " << spacePoint->getArrayIndex() << " from Array " << spacePoint->getArrayName());
374  throw FoundNoTrueHit();
375  }
376 
377  B2DEBUG(21, "Found PXDCluster " << pxdCluster->getArrayIndex() << " and " << " PXDTrueHit " << pxdTrueHit->getArrayIndex() <<
378  " from StoreArray " << pxdTrueHit->getArrayName() << " related to this SpacePoint");
379 
380  B2DEBUG(21, "Now getting global position and momentum for PXDCluster " << pxdCluster->getArrayIndex() << " from Array " <<
381  pxdCluster->getArrayName());
382  hitGlobalPosMom = getGlobalPositionAndMomentum(pxdTrueHit);
383 
384  // if position analysis is set to true, print to root file
385  if (m_PARAMpositionAnalysis) { getValuesForRoot(spacePoint, pxdTrueHit, rootVariables); }
386 
387  } else if (detType == VXD::SensorInfoBase::SVD) {
388  // get all related SVDClusters and do some sanity checks, before getting the SVDTrueHits and then using them to get global position and momentum
389  RelationVector<SVDCluster> svdClusters =
390  spacePoint->getRelationsTo<SVDCluster>("ALL"); // COULDDO: search only certain Cluster Arrays -> get name somehow (addidional parameter?)
391  if (svdClusters.size() == 0) {
392  B2WARNING("Found no related clusters for SpacePoint " << spacePoint->getArrayIndex() << " from Array " << spacePoint->getArrayName()
393  << ". With no Cluster no information if a track is curling or not can be obtained");
394  throw FoundNoCluster(); // this should also never happen, as the vice versa way is used to get to the SpacePoints in the first place (in the GFTC2SPTCConverterModule e.g.)
395  } else {
396  // collect the TrueHits, if there is more than one compare them, to see if both Clusters point to the same TrueHit
397  // WARNING there can be more! more than one TrueHit can be 'hidden' in one Cluster!!!
398  // TODO: look at this again, this seems not to work properly at the moment!!!
399  std::vector<const SVDTrueHit*> svdTrueHits;
400  for (const SVDCluster& aCluster : svdClusters) {
401  // CAUTION: there can be more than one TrueHit for a given Cluster!!!
402  RelationVector<SVDTrueHit> relTrueHits =
403  aCluster.getRelationsTo<SVDTrueHit>("ALL"); // COULDDO: search only certain SVDTrueHit arrays -> new parameter for module
404  if (relTrueHits.size() == 0) {
405  B2DEBUG(21, "Found no SVDTrueHit for SVDCluster " << aCluster.getArrayIndex() << " from Array " << aCluster.getArrayName() <<
406  ". This SVDCluster is related with SpacePoint " << spacePoint->getArrayIndex() << " from Array " << spacePoint->getArrayName());
407  throw FoundNoTrueHit();
408  }
409 
410  B2DEBUG(21, "Found " << relTrueHits.size() << " TrueHits for SVDCluster " << aCluster.getArrayIndex() << " from Array " <<
411  aCluster.getArrayName());
412  for (unsigned int i = 0; i < relTrueHits.size(); ++i) { svdTrueHits.push_back(relTrueHits[i]); }
413  }
414 
415  // if there is only one cluster related to the SpacePoint simply check if one (or more TrueHits are present). Additionally checking the size for svdTrueHits again is not necessary here, because if there was only one Cluster and no TrueHits were found this part is never reached!
416  // WARNING: It is not guaranteed that this actually leads to a valid relation between SpacePoint and TrueHit!!
417  // TODO: continuing with next SpacePoint skips check for curling behavior!!! FIX this!!!
418 // if (svdClusters.size() == 1) {
419 // std::stringstream inds;
420 // for (const SVDTrueHit * trueHit : svdTrueHits) { inds << trueHit->getArrayIndex() << ", "; }
421 // B2DEBUG(21, "Found only one Cluster related to SpacePoint " << spacePoint->getArrayIndex() << " from Array " << spacePoint->getArrayName() << ". To this Cluster " << svdTrueHits.size() << " related TrueHits were found. Indices: " << inds.str());
422 // m_NoSingleTrueHitCtr++;
423 // continue; // start over with next SpacePoint
424 // }
425 
426  // if there is at least one TrueHit in the vector check how many unique TrueHits there are
427  if (svdTrueHits.size() >= 1) {
428  B2DEBUG(21, "Found " << svdTrueHits.size() << " SVDTrueHits related to Clusters related to SpacePoint " <<
429  spacePoint->getArrayIndex() << " from Array " << spacePoint->getArrayName() << ". Now checking if they are compatible");
430 
431  // sort & unique to find the unique entries of the relation vector
432  std::sort(svdTrueHits.begin(), svdTrueHits.end());
433  unsigned int oldSize = svdTrueHits.size();
434  auto newEnd = std::unique(svdTrueHits.begin(), svdTrueHits.end());
435  svdTrueHits.resize(std::distance(svdTrueHits.begin(), newEnd));
436 
437  // If there is no overlapping TrueHit get all indices of the TrueHits and print a warning. If position Analysis is enabled calculate the position differences of the TrueHits. In the end throw an Exception (only if the TrueHits belong to a non-single Cluster SVD SpacePoint)
438  if (svdTrueHits.size() == oldSize) {
439  std::stringstream trueHitInds;
440  for (const SVDTrueHit* trueHit : svdTrueHits) { trueHitInds << trueHit->getArrayIndex() << ", "; }
441  B2DEBUG(21, "There is no overlapping TrueHit for SpacePoint " << spacePoint->getArrayIndex() << " from Array " <<
442  spacePoint->getArrayName() << ". The Indices of the TrueHits are: " << trueHitInds.str());
443 
444  // Only do these calculations if output to root is is enabled
446  std::vector<B2Vector3<double> > globalPositions;
447  std::vector<B2Vector3<double> > globalMomenta;
448  // collect all values
449  for (unsigned int i = 0; i < svdTrueHits.size(); ++i) {
450  auto posMom = getGlobalPositionAndMomentum(svdTrueHits[i]);
451  globalPositions.push_back(posMom.first);
452  globalMomenta.push_back(posMom.second);
453  }
454  // WARNING: getting only layer number of first TrueHit in vector here. Although this should not change, this is never actually checked!!
455  int layer = svdTrueHits[0]->getSensorID().getLayerNumber() - 1; // layer numbering starts at 1, indexing of array at 0
456  // do the calculations (starting from one because of comparison of two elements in each run through loop)
457  for (unsigned int i = 1; i < globalPositions.size(); ++i) {
458  rootVariables.MisMatchPosResiduals.at(layer).push_back((globalPositions[i] - globalPositions[i - 1]).Mag());
459 
460  rootVariables.MisMatchPosX.at(layer).push_back((globalPositions[i] - globalPositions[i - 1]).X());
461  rootVariables.MisMatchPosY.at(layer).push_back((globalPositions[i] - globalPositions[i - 1]).Y());
462  rootVariables.MisMatchPosZ.at(layer).push_back((globalPositions[i] - globalPositions[i - 1]).Z());
463 
464  rootVariables.MisMatchPosU.at(layer).push_back((svdTrueHits[i]->getU() - svdTrueHits[i - 1]->getU()));
465  rootVariables.MisMatchPosV.at(layer).push_back((svdTrueHits[i]->getV() - svdTrueHits[i - 1]->getV()));
466 
467  B2Vector3<double> momDiff = globalMomenta[i] - globalMomenta[i - 1];
468  rootVariables.MisMatchMomX.at(layer).push_back(momDiff.X());
469  rootVariables.MisMatchMomY.at(layer).push_back(momDiff.Y());
470  rootVariables.MisMatchMomZ.at(layer).push_back(momDiff.Z());
471  }
472  }
473  // if the TrueHits are related from a singleCluster SVD SpacePoint (i.e. more than one TrueHits are molded into one Cluster) do not throw this exception but continue with the curling checking
474  if (svdClusters.size() > 1) { TrueHitsNotMatching(); }
475  }
476  }
477 
478  // if there is more than one TrueHit remaining for one SpacePoint increase the counter
479  if (svdTrueHits.size() > 1) {
481  }
482 
483  // WARNING if there are more than one matching TrueHits only the first TrueHit is used for comparison and for position analysis
484  B2DEBUG(21, "Now getting global position and momentum for SVDCluster " << svdClusters[0]->getArrayIndex() << " from Array " <<
485  svdClusters[0]->getArrayName() << " via SVDTrueHit " << svdTrueHits[0]->getArrayIndex() << " from StoreArray " <<
486  svdTrueHits[0]->getArrayName());
487  hitGlobalPosMom = getGlobalPositionAndMomentum(svdTrueHits[0]);
488 
489  // if position analysis is set to true, print to root file
490  // only do so if there is only one TrueHit (this is only for the moment!!!) OR if the switch is set to do so even if there is more than one TrueHit
491  // TODO: Decide how to handle such cases where more than one TrueHit is left and implement accordingly
492  if (m_PARAMpositionAnalysis && (svdTrueHits.size() == 1 || m_PARAMuseNonSingleTHinPA)) { getValuesForRoot(spacePoint, svdTrueHits[0], rootVariables); }
493  }
494  } else { // this should never be reached, because it should be caught in the creation of the SpacePointTrackCand which is passed to this function!
495  throw SpacePointTrackCand::UnsupportedDetType();
496  }
497 
498  // get the direction of flight for the present SpacePoint
499  directions.second = getDirectionOfFlight(hitGlobalPosMom, m_origin);
500 
501  // check if the directions have changed since the last hit, if so, add the number of the SpacePoint (inside the SpacePointTrackCand) to the returnVector
502  if (directions.first != directions.second) {
503  B2DEBUG(21, "The direction of flight has changed for SpacePoint " << iHit <<
504  " in SpacePointTrackCand. The StoreArray index of this SpacePoint is " << spacePoint->getArrayIndex() << " in " <<
505  spacePoint->getArrayName());
506  returnVector.push_back(iHit);
507  }
508  // assign old value to .first, for next comparison
509  directions.first = directions.second;
510  }
511  return returnVector;
512 }
DataType Z() const
access variable Z (= .at(2) without boundary check)
Definition: B2Vector3.h:435
DataType X() const
access variable X (= .at(0) without boundary check)
Definition: B2Vector3.h:431
DataType Y() const
access variable Y (= .at(1) without boundary check)
Definition: B2Vector3.h:433
bool getDirectionOfFlight(std::pair< const B2Vector3< double >, const B2Vector3< double > > const &hitPosAndMom, const B2Vector3< double > &origin)
determine the direction of flight of a particle for a given hit and the origin (assumed interaction p...
int m_NoSingleTrueHitCtr
Counter for SpacePoints that relate to more than one TrueHit.
void getValuesForRoot(const SpacePoint *spacePoint, const TrueHit *trueHit, RootVariables &rootVariables)
Get The Values that are later written to a ROOT file.
std::pair< const B2Vector3< double >, const B2Vector3< double > > getGlobalPositionAndMomentum(TrueHit *aTrueHit)
Get the global position and momentum for a given TrueHit (PXD or SVD at the moment).
B2Vector3< double > m_origin
origin used internally (set from user set value)
bool m_PARAMuseNonSingleTHinPA
Switch for using SpacePoints in position Analysis that are related to more than one TrueHit.
bool m_PARAMpositionAnalysis
Set to true if output to ROOT file is desired with the positions and position differences of SpacePoi...
The PXD Cluster class This class stores all information about reconstructed PXD clusters The position...
Definition: PXDCluster.h:30
Class PXDTrueHit - Records of tracks that either enter or leave the sensitive volume.
Definition: PXDTrueHit.h:31
Class for type safe access to objects that are referred to in relations.
size_t size() const
Get number of relations.
std::string getArrayName() const
Get name of array this object is stored in, or "" if not found.
int getArrayIndex() const
Returns this object's array index (in StoreArray), or -1 if not found.
RelationVector< TO > getRelationsTo(const std::string &name="", const std::string &namedRelation="") const
Get the relations that point from this object to another store array.
TO * getRelatedTo(const std::string &name="", const std::string &namedRelation="") const
Get the object to which this object has a relation.
The SVD Cluster class This class stores all information about reconstructed SVD clusters.
Definition: SVDCluster.h:29
Class SVDTrueHit - Records of tracks that either enter or leave the sensitive volume.
Definition: SVDTrueHit.h:33
unsigned int getNHits() const
get the number of hits (space points) in the track candidate
const std::vector< const Belle2::SpacePoint * > & getHits() const
get hits (space points) of track candidate
SpacePoint typically is build from 1 PXDCluster or 1-2 SVDClusters.
Definition: SpacePoint.h:42
Belle2::VXD::SensorInfoBase::SensorType getType() const
Return SensorType (PXD, SVD, ...) on which the SpacePoint lives.
Definition: SpacePoint.h:145
DataType at(unsigned i) const
safe member access (with boundary check!)
Definition: B2Vector3.h:751

◆ 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 179 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 439 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 420 of file Module.h.

◆ endRun()

virtual void endRun ( void  )
inlinevirtualinherited

This method is called if the current run ends.

Use this method to store information, which should be aggregated over one run.

This method can be implemented by subclasses.

Reimplemented in DQMHistOutputToEPICSModule, DQMHistAnalysisTRGModule, DQMHistAnalysisRooFitExampleModule, DQMHistAnalysisPXDTrackChargeModule, DQMHistAnalysisPXDChargeModule, DQMHistAnalysisEpicsOutputModule, DQMHistAnalysisDeltaTestModule, DQMHistAnalysisDeltaEpicsMonObjExampleModule, vxdDigitMaskingModule, TrackSetEvaluatorHopfieldNNDEVModule, SVDUnpackerDQMModule, PyModule, DQMHistSnapshotsModule, DQMHistDeltaHistoModule, DQMHistComparitorModule, DQMHistAnalysisTRGGDLModule, DQMHistAnalysisTRGECLModule, DQMHistAnalysisTOPModule, DQMHistAnalysisSVDOnMiraBelleModule, DQMHistAnalysisSVDGeneralModule, DQMHistAnalysisSVDEfficiencyModule, DQMHistAnalysisSVDDoseModule, DQMHistAnalysisPXDFitsModule, DQMHistAnalysisOutputRelayMsgModule, DQMHistAnalysisOutputMonObjModule, DQMHistAnalysisOutputFileModule, DQMHistAnalysisMonObjModule, DQMHistAnalysisMiraBelleModule, DQMHistAnalysisKLM2Module, DQMHistAnalysisKLMModule, DQMHistAnalysisInputTestModule, DQMHistAnalysisInputPVSrvModule, DQMHistAnalysisHLTMonObjModule, DQMHistAnalysisExampleFlagsModule, DQMHistAnalysisExampleModule, DQMHistAnalysisEpicsExampleModule, DQMHistAnalysisECLSummaryModule, DQMHistAnalysisECLShapersModule, DQMHistAnalysisECLOutOfTimeDigitsModule, DQMHistAnalysisECLConnectedRegionsModule, DQMHistAnalysisECLModule, DQMHistAnalysisDAQMonObjModule, DQMHistAnalysisCDCMonObjModule, DQMHistAnalysisCDCDedxModule, DQMHistAnalysisARICHMonObjModule, DQMHistAnalysisARICHModule, TRGRAWDATAModule, TRGTOPWaveformPlotterModule, TRGTOPUnpackerWaveformModule, TRGTOPUnpackerModule, TRGTOPTRD2TTSConverterModule, TRGTOPDQMModule, KLMTriggerModule, TRGGRLUnpackerModule, TRGGRLDQMModule, TRGGRLProjectsModule, TRGGRLModule, TRGGRLMatchModule, TRGGDLUnpackerModule, TRGGDLSummaryModule, TRGGDLDSTModule, TRGGDLDQMModule, TRGGDLModule, TRGECLUnpackerModule, TRGECLTimingCalModule, TRGECLRawdataAnalysisModule, TRGECLQAMModule, TRGECLDQMModule, TRGECLBGTCHitModule, TRGECLModule, TRGECLFAMModule, MCMatcherTRGECLModule, TRGCDCTSStreamModule, TRGCDCTSFUnpackerModule, TRGCDCTSFDQMModule, TRGCDCT3DUnpackerModule, TRGCDCT3DDQMModule, TRGCDCT3DConverterModule, TRGCDCT2DDQMModule, TRGCDCETFUnpackerModule, TRGCDCModule, CDCTriggerNDFinderModule, CDCTriggerNeuroDQMOnlineModule, CDCTriggerNeuroDQMModule, FindletModule< AFindlet >, FindletModule< TrackFinderAutomaton >, FindletModule< FacetCreator >, FindletModule< CKFToCDCFromEclFindlet >, FindletModule< AxialTrackCreatorMCTruth >, FindletModule< AxialStraightTrackFinder >, FindletModule< CKFToCDCFindlet >, FindletModule< CKFToSVDSeedFindlet >, FindletModule< SegmentLinker >, FindletModule< TrackCreatorSegmentTripleAutomaton >, FindletModule< TrackCreatorSegmentPairAutomaton >, FindletModule< SegmentOrienter >, FindletModule< SegmentCreatorFacetAutomaton >, FindletModule< TrackFinderSegmentTripleAutomaton >, FindletModule< SegmentFinderFacetAutomaton >, FindletModule< CKFToSVDFindlet >, FindletModule< TrackRejecter >, FindletModule< SegmentCreatorMCTruth >, FindletModule< TrackFinderCosmics >, FindletModule< TrackExporter >, FindletModule< SuperClusterCreator >, FindletModule< AsicBackgroundLibraryCreator >, FindletModule< HitBasedT0Extractor >, FindletModule< TrackFinderSegmentPairAutomaton >, FindletModule< ClusterPreparer >, FindletModule< AxialTrackFinderHough >, FindletModule< CosmicsTrackMergerFindlet >, FindletModule< TrackOrienter >, FindletModule< TrackLinker >, FindletModule< TrackFinder >, FindletModule< SegmentPairCreator >, FindletModule< MonopoleAxialTrackFinderLegendre >, FindletModule< HitReclaimer >, FindletModule< ClusterRefiner< BridgingWireHitRelationFilter > >, FindletModule< AxialTrackFinderLegendre >, FindletModule< AxialTrackCreatorSegmentHough >, FindletModule< TrackQualityEstimator >, FindletModule< StereoHitFinder >, FindletModule< CKFToPXDFindlet >, FindletModule< WireHitPreparer >, FindletModule< TrackFlightTimeAdjuster >, FindletModule< TrackCreatorSingleSegments >, FindletModule< SegmentRejecter >, FindletModule< SegmentFitter >, FindletModule< SegmentTripleCreator >, FindletModule< SegmentTrackCombiner >, FindletModule< vxdHoughTracking::SVDHoughTracking >, FindletModule< MCVXDCDCTrackMergerFindlet >, FindletModule< TrackCombiner >, FindletModule< MonopoleStereoHitFinder >, FindletModule< DATCONFPGAFindlet >, FindletModule< WireHitBackgroundDetector >, FindletModule< AxialSegmentPairCreator >, FindletModule< WireHitCreator >, FindletModule< TrackQualityAsserter >, FindletModule< MonopoleStereoHitFinderQuadratic >, FindletModule< ClusterBackgroundDetector >, FindletModule< CDCTrackingEventLevelMdstInfoFillerFindlet >, VXDTFTrainingDataCollectorModule, SectorMapBootstrapModule, NoKickCutsEvalModule, VXDSimpleClusterizerModule, TrackFinderVXDAnalizerModule, SecMapTrainerVXDTFModule, SecMapTrainerBaseModule, V0findingPerformanceEvaluationModule, TrackingPerformanceEvaluationModule, HitXPModule, EffPlotsModule, TrackFinderMCTruthRecoTracksModule, SVDROIFinderModule, SVDROIFinderAnalysisModule, SVDROIDQMModule, SPTCvirtualIPRemoverModule, SPTCmomentumSeedRetrieverModule, RT2SPTCConverterModule, PXDROIFinderModule, MCSlowPionPXDROICreatorModule, MuidModule, MCTrackCandClassifierModule, MCV0MatcherModule, GenfitVisModule, ExtModule, TOPXTalkChargeShareSetterModule, TOPWaveformQualityPlotterModule, TOPWaveformFeatureExtractorModule, TOPUnpackerModule, TOPTimeBaseCalibratorModule, TOPTBCComparatorModule, TOPRawDigitConverterModule, TOPPackerModule, TOPNtupleModule, TOPMCTrackMakerModule, TOPLaserCalibratorModule, TOPInterimFENtupleModule, TOPLaserHitSelectorModule, TOPGainEfficiencyCalculatorModule, TOPDoublePulseGeneratorModule, TOPTriggerDigitizerModule, TOPChannelT0MCModule, TOPBackgroundModule, SVDUnpackerModule, SVDTriggerQualityGeneratorModule, SVD3SamplesEmulatorModule, SVDRecoDigitCreatorModule, SVDDataFormatCheckModule, SVDCoGTimeEstimatorModule, SVDClusterizerModule, SVDShaperDigitsFromTracksModule, SVDPerformanceModule, SVDOccupancyAnalysisModule, SVDClusterFilterModule, SVDClusterEvaluationTrueInfoModule, SVDClusterEvaluationModule, SVDB4CommissioningPlotsModule, SVDPackerModule, svdDumpModule, SVDTimeCalibrationsMonitorModule, SVDPositionErrorScaleFactorImporterModule, SVDLocalCalibrationsMonitorModule, SVDLatencyCalibrationModule, SVDHotStripFinderModule, SVDClusterCalibrationsMonitorModule, SVDBackgroundModule, FullSimModule, PIDNtupleModule, MdstPIDModule, KlongValidationModule, DataWriterModule, CDCDedxValidationModule, CDCDedxDQMModule, Root2BinaryModule, PrintEventRateModule, PrintDataModule, Convert2RawDetModule, PXDPerformanceModule, PXDClustersFromTracksModule, PXDBackgroundModule, AWESOMEBasicModule, KLMUnpackerModule, KLMScintillatorSimulatorModule, KLMReconstructorModule, KLMPackerModule, KLMDQM2Module, KLMDQMModule, KLMDigitizerModule, KLMClustersReconstructorModule, KLMClusterEfficiencyModule, EKLMDataCheckerModule, BKLMTrackingModule, BKLMSimHistogrammerModule, BKLMDigitAnalyzerModule, BKLMAnaModule, OverrideGenerationFlagsModule, EvtGenDecayModule, ZMQTxWorkerModule, ZMQTxInputModule, TxModule, RxModule, SeqRootOutputModule, SeqRootInputModule, StatisticsSummaryModule, HistoManagerModule, RandomBarrierModule, EventInfoPrinterModule, SwitchDataStoreModule, SubEventModule, HistoModule, ECLWaveformFitModule, ECLUnpackerModule, ECLSplitterN2Module, ECLSplitterN1Module, ECLShowerShapeModule, ECLShowerCorrectorModule, ECLShowerCalibratorModule, ECLPackerModule, ECLLOMModule, ECLLocalRunCalibratorModule, ECLLocalMaximumFinderModule, ECLHitDebugModule, ECLFinalizerModule, ECLDQMEXTENDEDModule, ECLDQMModule, EclDisplayModule, ECLDigitizerPureCsIModule, ECLDigitizerModule, ECLDigitCalibratorModule, ECLDataAnalysisModule, ECLCRFinderModule, ECLCovarianceMatrixModule, ECLClusterPSDModule, ECLChargedPIDDataAnalysisValidationModule, ECLChargedPIDDataAnalysisModule, ECLChargedPIDModule, ECLBackgroundModule, PhysicsObjectsMiraBelleModule, PhysicsObjectsMiraBelleHadronModule, PhysicsObjectsMiraBelleDstModule, PhysicsObjectsMiraBelleDst2Module, PhysicsObjectsMiraBelleBhabhaModule, PhysicsObjectsDQMModule, DQMHistAnalysisInputModule, StorageSerializerModule, StorageRootOutputModule, StorageDeserializerModule, SeqRootMergerModule, PartialSeqRootReaderModule, Ds2RawFileModule, Rbuf2RbufModule, Rbuf2DsModule, RawInputModule, Raw2DsModule, FastRbuf2DsModule, EvReductionModule, Ds2RbufModule, Ds2RawModule, CertifyParallelModule, SerializerModule, Root2RawModule, MonitorDataCOPPERModule, GenRawSendModule, DeSerializerPXDModule, ElapsedTimeModule, HLTDs2ZMQModule, HLTDQM2ZMQModule, ReceiveEventModule, Ds2SampleModule, TrackAnaModule, MonitorDataModule, DqmHistoManagerModule, TxSocketModule, RxSocketModule, DAQPerfModule, CDCUnpackerModule, CDCRecoTrackFilterModule, CDCPackerModule, CDCDQMModule, cdcDQM7Module, CDCCRTestModule, CDCCosmicAnalysisModule, QcsmonitorStudyModule, QcsmonitorDigitizerModule, PlumeDigitizerModule, PindiodeStudyModule, PinDigitizerModule, TPCStudyModule, TpcDigitizerModule, MicrotpcStudyModule, He3tubeStudyModule, He3DigitizerModule, FANGSStudyModule, FANGSDigitizerModule, DosiStudyModule, DosiDigitizerModule, CsIStudyModule, CsiStudy_v2Module, CsiModule, CsIDigitizerModule, CsiDigitizer_v2Module, ClawsStudyModule, ClawsDigitizerModule, ClawStudyModule, ClawDigitizerModule, BgoStudyModule, BgoDigitizerModule, BeamDigitizerModule, BeamabortStudyModule, ReprocessorModule, NtuplePhase1_v6Module, AnalysisPhase1StudyModule, BGOverlayInputModule, BeamBkgTagSetterModule, BeamBkgMixerModule, BeamBkgHitRateMonitorModule, BeamBkgGeneratorModule, BelleMCOutputModule, B2BIIMdstInputModule, B2BIIConvertMdstModule, B2BIIMCParticlesMonitorModule, ARICHDQMModule, arichBtestModule, LowEnergyPi0VetoExpertModule, LowEnergyPi0IdentificationExpertModule, CurlTaggerModule, CosmicsAlignmentValidationModule, AlignDQMModule, CalibrationCollectorModule, GetEventFromSocketModule, SrsensorModule, QcsmonitorModule, PlumeModule, PindiodeModule, Ph1sustrModule, Ph1bpipeModule, MicrotpcModule, He3tubeModule, FANGSModule, DosiModule, CLAWSModule, ClawModule, CaveModule, BgoModule, and BeamabortModule.

Definition at line 166 of file Module.h.

◆ 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 96 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 133 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 113 of file Module.cc.

◆ getDirectionOfFlight()

bool getDirectionOfFlight ( std::pair< const B2Vector3< double >, const B2Vector3< double > > const &  hitPosAndMom,
const B2Vector3< double > &  origin 
)
protected

determine the direction of flight of a particle for a given hit and the origin (assumed interaction point).

True is outwards, false is inwards

Definition at line 545 of file CurlingTrackCandSplitterModule.cc.

◆ getFileNames()

virtual std::vector<std::string> getFileNames ( 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.

Reimplemented in RootOutputModule, StorageRootOutputModule, and RootInputModule.

Definition at line 134 of file Module.h.

◆ getGlobalPositionAndMomentum()

std::pair<const B2Vector3<double>, const B2Vector3<double> > getGlobalPositionAndMomentum ( TrueHit *  aTrueHit)
protected

Get the global position and momentum for a given TrueHit (PXD or SVD at the moment).

Template Parameters
TrueHitTrueHit type
Parameters
aTrueHitpointer to a trueHit
Returns
pair of global position and momentum for a given TrueHit. .first is position, .second is momentum

◆ 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 187 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 279 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 381 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 41 of file Module.cc.

◆ getUV()

CurlingTrackCandSplitterModule::TaggedUVPos getUV ( const SpacePoint spacePoint)
protected

get U&V for a SpacePoint (via its relation to Clusters) (SpacePoint can only return normalized U&V coordinates).

Returning a TaggedUVPos makes it possible to properly analyze SpacePoints with only one Cluster

Definition at line 761 of file CurlingTrackCandSplitterModule.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 160 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 85 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 90 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 79 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 214 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 73 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 214 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 234 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 249 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 208 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 227 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 220 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 48 of file Module.cc.

Member Data Documentation

◆ m_PARAMcurlingOutFirstName

std::string m_PARAMcurlingOutFirstName
protected

collection name of the first outgoing (i.e.

coming from the interaction point) parts of a curling TrackCand

Definition at line 144 of file CurlingTrackCandSplitterModule.h.

◆ m_PARAMrootFileName

std::vector<std::string> m_PARAMrootFileName
protected

two entries accepted.

First is filename, second is 'RECREATE' or 'UPDATE' (write mode)

Definition at line 225 of file CurlingTrackCandSplitterModule.h.

◆ m_PARAMsetOrigin

std::vector<double> m_PARAMsetOrigin
protected

set the origin to a specific point.

Needed for determining the direction of flight of the particle for a given hit

Definition at line 153 of file CurlingTrackCandSplitterModule.h.

◆ m_PARAMuseNonSingleTHinPA

bool m_PARAMuseNonSingleTHinPA
protected

Switch for using SpacePoints in position Analysis that are related to more than one TrueHit.

NOTE: probably only here while developing

Definition at line 179 of file CurlingTrackCandSplitterModule.h.


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