Belle II Software development
SVDNNShapeReconstructorModule.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#ifndef SVDNNShapeReconstructorModule_H
10#define SVDNNShapeReconstructorModule_H
11
12#include <framework/core/Module.h>
13#include <framework/datastore/RelationArray.h>
14#include <svd/calibration/SVDNoiseCalibrations.h>
15#include <svd/calibration/SVDPulseShapeCalibrations.h>
16#include <svd/reconstruction/NNWaveFitter.h>
17#include <svd/dataobjects/SVDEventInfo.h>
18#include <map>
19#include <vector>
20
21namespace Belle2 {
27 namespace SVD {
28
36
37 public:
38
40 typedef std::vector<const RelationElement*> RelationLookup;
41
44
46 virtual void initialize() override;
47
49 virtual void event() override;
50
51 protected:
52
67 void createRelationLookup(const RelationArray& relation, RelationLookup& lookup,
68 size_t digits);
69
75 void fillRelationMap(const RelationLookup& lookup, std::map<unsigned int, float>&
76 relation, unsigned int index);
77
78 // Data members
81
82 //1. Collections
103
104 //2. Strip and time fitter data
106 std::string m_timeFitterName;
109 bool m_calibratePeak = false;
110
115
118
119 // Relation lookups
124
126 bool m_writeRecoDigits = false;
127
129 float m_cutAdjacent = 3.0;
130
131 };//end class declaration
132
133 } //end SVD namespace;
135} // end namespace Belle2
136
137#endif // SVDNNShapeReconstructorModule_H
Base class for Modules.
Definition: Module.h:72
Low-level class to create/modify relations between StoreArrays.
Definition: RelationArray.h:62
This class defines the dbobject and the method to access SVD calibrations from the noise local runs.
This class defines the dbobject and the methods to access the SVD calibrations from the local runs pr...
The class uses a neural network to find a probability distribution of arrival times for a sextet of A...
Definition: NNWaveFitter.h:61
std::string m_storeRecoDigitsName
Name of the collection to use for the SVDRecoDigits.
std::string m_relShaperDigitMCParticleName
Name of the relation between SVDShaperDigits and MCParticles.
bool m_writeRecoDigits
Write SVDRecoDigits? (no in normal operation)
virtual void initialize() override
Initialize the module.
SVDNNShapeReconstructorModule()
Constructor defining the parameters.
std::string m_storeShaperDigitsName
Name of the collection to use for the SVDShaperDigits.
virtual void event() override
do the clustering
std::vector< const RelationElement * > RelationLookup
Container for a RelationArray Lookup table.
std::string m_relRecoDigitTrueHitName
Name of the relation between SVDRecoDigits and SVDTrueHits.
std::string m_storeTrueHitsName
Name of the collection to use for the SVDTrueHits.
std::string m_relRecoDigitMCParticleName
Name of the relation between SVDRecoDigits and MCParticles.
std::string m_timeFitterName
Name of the time fitter data xml.
void fillRelationMap(const RelationLookup &lookup, std::map< unsigned int, float > &relation, unsigned int index)
Add the relation from a given SVDShaperDigit index to a map.
std::string m_storeMCParticlesName
Name of the collection to use for the MCParticles.
std::string m_relShaperDigitTrueHitName
Name of the relation between SVDShaperDigits and SVDTrueHits.
RelationLookup m_trueRelation
Lookup table for SVDShaperDigit->SVDTrueHit relation.
SVDPulseShapeCalibrations m_pulseShapeCal
Calibrations: pusle shape and gain.
std::string m_svdEventInfoName
Name of the SVDEventInfo object.
SVDNoiseCalibrations m_noiseCal
Calibrations: noise.
void createRelationLookup(const RelationArray &relation, RelationLookup &lookup, size_t digits)
Create lookup maps for relations FIXME: This has to be significantly simplified here,...
RelationLookup m_mcRelation
Lookup table for SVDShaperDigit->MCParticle relation.
StoreObjPtr< SVDEventInfo > m_storeSVDEvtInfo
Storage for SVDEventInfo object.
bool m_calibratePeak
Use peak widths and peak time calibrations? Unitl this is also simulated, set to true only for testbe...
std::string m_relRecoDigitShaperDigitName
Name of the relation between SVDRecoDigits and SVDShaperDigits.
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.