Belle II Software development
SVDSpacePointCreatorModule.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11// framework
12#include <framework/core/Module.h>
13#include <framework/datastore/StoreArray.h>
14#include <framework/database/DBObjPtr.h>
15
16// svd
17#include <svd/dbobjects/SVDRecoConfiguration.h>
18#include <svd/dbobjects/SVDSpacePointSNRFractionSelector.h>
19#include <svd/dbobjects/SVDTimeGroupingConfiguration.h>
20#include <svd/calibration/SVDHitTimeSelection.h>
21#include <svd/calibration/SVDNoiseCalibrations.h>
22
23// tracking
24#include <tracking/spacePointCreation/SpacePoint.h>
25
26// std
27#include <string>
28
29// root
30#include <TFile.h>
31
32
33namespace Belle2 {
43
44 public:
45
46
47
50
51
52
57 virtual void initialize() override;
58
59
61 void beginRun() override;
62
63
65 virtual void event() override;
66
67
69 virtual void terminate() override;
70
71
73 void InitializeCounters();
74
75
76 protected:
77
81 // Data members
82 std::string m_svdClustersName = "SVDClusters";
87 std::string m_spacePointsName = "";
94 std::string m_svdEventInfoName;
96 float m_minClusterTime = -999;
98 // modification parameters
99 std::string m_nameOfInstance =
100 "";
103 false;
105 std::string m_inputPDF = "";
107 TFile* m_calibrationFile = nullptr;
109 bool m_useLegacyNaming = true;
112 //counters for testing
113 unsigned int m_TESTERSVDClusterCtr = 0;
115 unsigned int m_TESTERSpacePointCtr = 0;
117 unsigned int m_numMaxSpacePoints = 7e4;
129
134
136 bool m_useParamFromDB = true;
144 false;
146 false;
149 true;
150 };
152} // end namespace Belle2
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Base class for Modules.
Definition: Module.h:72
This class defines the dbobject and the methods to access the calibration of the cluster reconstructi...
This class defines the dbobject and the method to access SVD calibrations from the noise local runs.
Imports Clusters of the SVD detector and converts them to spacePoints.
std::string m_eventLevelTrackingInfoName
Name of the EventLevelTrackingInfo.
bool m_useParamFromDB
use the configuration from SVDTimeGroupingConfiguration DB.
std::string m_svdClustersName
SVDCluster collection name.
float m_minClusterTime
clusters with time below this value are not considered to make spacePoints
std::string m_nameOfInstance
allows the user to set an identifier for this module.
SVDTimeGroupingParameters m_usedParsIn3Samples
module parameter values for 3-sample DAQ taken from SVDTimeGroupingConfiguration dbobject.
virtual void initialize() override
Init the module.
SVDHitTimeSelection m_HitTimeCut
selection based on clustr time db object
unsigned int m_numMaxSpacePoints
do not crete SPs if their number exceeds m_numMaxSpacePoints, tuned with BG19
StoreArray< SVDCluster > m_svdClusters
the storeArray for svdClusters as member, is faster than recreating link for each event
std::string m_inputPDF
File path of root file containing pdf histograms.
virtual void event() override
eventWise jobs (e.g.
void InitializeCounters()
initialize variables in constructor to avoid nondeterministic behavior
unsigned int m_TESTERSpacePointCtr
counts total number of SpacePoints occured
SVDTimeGroupingParameters m_usedParsIn6Samples
module parameter values for 6-sample DAQ taken from SVDTimeGroupingConfiguration dbobject.
SVDNoiseCalibrations m_NoiseCal
SVDNoise calibrations db object.
bool m_useSVDSpacePointSNRFractionFor6Samples
Use SVDSpacePointSNRFractionSelector to reject combinations in 6-sample DAQ mode.
virtual void terminate() override
final output with mini-feedback
StoreArray< SpacePoint > m_spacePoints
the storeArray for spacePoints as member, is faster than recreating link for each event
bool m_forceGroupingFromDB
use the configuration from SVDRecConfiguration DB.
bool m_useSVDGroupInfoIn6Sample
Use SVD group info to reject combinations in 6-sample DAQ mode.
bool m_useDBForSNRFraction
if true takes the configuration from the DB objects for SVDSpacePointSNRFractionSelector.
bool m_useLegacyNaming
Choice between PDF naming conventions.
TFile * m_calibrationFile
Pointer to root TFile containing PDF histograms.
bool m_useSVDGroupInfoIn3Sample
Use SVD group info to reject combinations in 3-sample DAQ mode.
std::string m_svdEventInfoName
Name of the collection to use for the SVDEventInfo.
std::string m_spacePointsName
SpacePoints collection name.
DBObjPtr< SVDSpacePointSNRFractionSelector > m_svdSpacePointSNRFractionSelector
Payload of selection functions and thresholds applied on SVDSpacePoint.
unsigned int m_TESTERSVDClusterCtr
counts total number of SVDCluster occured
DBObjPtr< SVDRecoConfiguration > m_recoConfig
SVD Reconstruction Configuration payload.
bool m_useSVDSpacePointSNRFractionFor3Samples
Use SVDSpacePointSNRFractionSelector to reject combinations in 3-sample DAQ mode.
DBObjPtr< SVDTimeGroupingConfiguration > m_groupingConfig
SVDTimeGrouping Configuration payload.
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Abstract base class for different kinds of events.
structure containing the relevant informations of SVDTimeGrouping module