Belle II Software  release-08-01-10
SVDRecoConfiguration.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 #include "TObject.h"
11 #include "TString.h"
12 
13 namespace Belle2 {
22  class SVDRecoConfiguration: public TObject {
23  public:
27  SVDRecoConfiguration(const TString& uniqueID = "")
28  : m_uniqueID(uniqueID)
29  , m_timeRecoWith6Samples("CoG6")
30  , m_timeRecoWith3Samples("CoG3")
31  , m_chargeRecoWith6Samples("MaxSample")
32  , m_chargeRecoWith3Samples("MaxSample")
37  , m_stripChargeRecoWith6Samples("MaxSample")
38  , m_stripChargeRecoWith3Samples("MaxSample")
45  {};
46 
51  TString getTimeRecoWith6Samples() const { return m_timeRecoWith6Samples; };
56  TString getTimeRecoWith3Samples() const { return m_timeRecoWith3Samples; };
57 
68 
79 
80 
91 
102 
103 
108  Bool_t isSVDTimeGroupingEnabled(const Int_t& numberOfAcquiredSamples) const
109  {
110  if (numberOfAcquiredSamples == 6)
112  else if (numberOfAcquiredSamples == 3)
114  else
115  return false;
116  }
121  Bool_t isSVDGroupInfoUsedInSPCreator(const Int_t& numberOfAcquiredSamples) const
122  {
123  if (numberOfAcquiredSamples == 6)
125  else if (numberOfAcquiredSamples == 3)
127  else
128  return false;
129  }
130 
135  void setTimeRecoWith6Samples(TString timeRecoWith6Samples)
136  {
137  m_timeRecoWith6Samples = TString(timeRecoWith6Samples);
138  }
143  void setTimeRecoWith3Samples(TString timeRecoWith3Samples)
144  {
145  m_timeRecoWith3Samples = TString(timeRecoWith3Samples);
146  }
147 
152  void setChargeRecoWith6Samples(TString chargeRecoWith6Samples)
153  {
154  m_chargeRecoWith6Samples = TString(chargeRecoWith6Samples);
155  }
160  void setChargeRecoWith3Samples(TString chargeRecoWith3Samples)
161  {
162  m_chargeRecoWith3Samples = TString(chargeRecoWith3Samples);
163  }
164 
169  void setPositionRecoWith6Samples(TString positionRecoWith6Samples)
170  {
171  m_positionRecoWith6Samples = TString(positionRecoWith6Samples);
172  }
177  void setPositionRecoWith3Samples(TString positionRecoWith3Samples)
178  {
179  m_positionRecoWith3Samples = TString(positionRecoWith3Samples);
180  }
181 
182 
187  void setStripTimeRecoWith6Samples(TString timeStripRecoWith6Samples)
188  {
189  m_stripTimeRecoWith6Samples = TString(timeStripRecoWith6Samples);
190  }
195  void setStripTimeRecoWith3Samples(TString timeStripRecoWith3Samples)
196  {
197  m_stripTimeRecoWith3Samples = TString(timeStripRecoWith3Samples);
198  }
199 
204  void setStripChargeRecoWith6Samples(TString chargeStripRecoWith6Samples)
205  {
206  m_stripChargeRecoWith6Samples = TString(chargeStripRecoWith6Samples);
207  }
212  void setStripChargeRecoWith3Samples(TString chargeStripRecoWith3Samples)
213  {
214  m_stripChargeRecoWith3Samples = TString(chargeStripRecoWith3Samples);
215  }
216 
221  void setStateOfSVDTimeGrouping(const Int_t& numberOfAcquiredSamples, const Bool_t& state = false)
222  {
223  if (numberOfAcquiredSamples == 3)
225  else if (numberOfAcquiredSamples == 6)
227  }
232  void setUseOfSVDGroupInfoInSPCreator(const Int_t& numberOfAcquiredSamples, const Bool_t& state = false)
233  {
234  if (numberOfAcquiredSamples == 3)
236  else if (numberOfAcquiredSamples == 6)
238  }
239 
243  TString get_uniqueID() const {return m_uniqueID;}
244 
249  Bool_t useSVDSpacePointSNRFraction(const Int_t& numberOfAcquiredSamples) const
250  {
251  if (numberOfAcquiredSamples == 6)
253  else if (numberOfAcquiredSamples == 3)
255  else
256  return false;
257  }
258 
263  void setUseOfSVDSpacePointSNRFraction(const Int_t& numberOfAcquiredSamples, const Bool_t& state = false)
264  {
265  if (numberOfAcquiredSamples == 3)
267  else if (numberOfAcquiredSamples == 6)
269  }
270 
272  static std::string name;
273 
274  private:
275 
277  TString m_uniqueID;
278 
287 
292 
293 
302 
311 
316 
319  };
320 
322 }
This class store the reconstruction configuration of SVD.
TString m_uniqueID
unique identifier of the SVD reconstruction configuration payload
Bool_t m_useSVDGroupInfoInSPfor3Samples
Use SVD clusters groupId in SVDSpacePointCreator for 3-sample acquisition mode.
void setChargeRecoWith6Samples(TString chargeRecoWith6Samples)
Set the algorithm to be used for cluster charge computation in 6-sample acquisition mode.
void setStripTimeRecoWith3Samples(TString timeStripRecoWith3Samples)
Set the algorithm to be used for strip time computation in 3-sample acquisition mode.
void setTimeRecoWith6Samples(TString timeRecoWith6Samples)
Set the algorithm to be used for cluster time computation in 6-sample acquisition mode.
Bool_t useSVDSpacePointSNRFraction(const Int_t &numberOfAcquiredSamples) const
Returns the parameter which turns On/Off usage of SVDSpacePointSNRFractionSelector in the SVDSpacePoi...
void setUseOfSVDGroupInfoInSPCreator(const Int_t &numberOfAcquiredSamples, const Bool_t &state=false)
Set the parameter which turns On/Off usage of SVD cluster grouping in the SVDSpacePointCreator for 3/...
Bool_t isSVDGroupInfoUsedInSPCreator(const Int_t &numberOfAcquiredSamples) const
Returns the parameter which turns On/Off usage of SVD cluster grouping in the SVDSpacePointCreator fo...
void setStripTimeRecoWith6Samples(TString timeStripRecoWith6Samples)
Set the algorithm to be used for strip time computation in 6-sample acquisition mode.
void setPositionRecoWith3Samples(TString positionRecoWith3Samples)
Set the algorithm to be used for cluster position computation in 3-sample acquisition mode.
SVDRecoConfiguration(const TString &uniqueID="")
Default constructor.
void setStateOfSVDTimeGrouping(const Int_t &numberOfAcquiredSamples, const Bool_t &state=false)
Set the parameter which turns On/Off SVD cluster grouping in 3/6-sample acquisition mode.
TString getStripTimeRecoWith3Samples() const
Returns the TString corresponding to the algorithm to be used for the strip time computation in 3-sam...
TString m_chargeRecoWith3Samples
cluster charge reconstruction algorithm used in 3-sample acquisition mode
TString getPositionRecoWith6Samples() const
Returns the TString corresponding to the algorithm to be used for the cluster position computation in...
TString get_uniqueID() const
Get the unique ID of the calibration.
Bool_t m_assignSVDGroupIn6Samples
Assign groupId to SVD clusters in 6-sample acquisition mode.
TString m_positionRecoWith3Samples
cluster position reconstruction algorithm used in 3-sample acquisition mode
TString m_stripTimeRecoWith3Samples
strip time reconstruction algorithm used in 3-sample acquisition mode
TString m_timeRecoWith6Samples
cluster time reconstruction algorithm used in 6-sample acquisition mode
TString getPositionRecoWith3Samples() const
Returns the TString corresponding to the algorithm to be used for the cluster position computation in...
ClassDef(SVDRecoConfiguration, 3)
needed by root
TString getStripChargeRecoWith3Samples() const
Returns the TString corresponding to the algorithm to be used for the strip charge computation in 3-s...
void setUseOfSVDSpacePointSNRFraction(const Int_t &numberOfAcquiredSamples, const Bool_t &state=false)
Set the parameter which turns On/Off usage of SVDSpacePointSNRFractionSelector in the SVDSpacePointCr...
static std::string name
name of the payload
TString m_timeRecoWith3Samples
cluster time reconstruction algorithm used in 3-sample acquisition mode
TString m_stripChargeRecoWith6Samples
strip charge reconstruction algorithm used in 6-sample acquisition mode
void setChargeRecoWith3Samples(TString chargeRecoWith3Samples)
Set the algorithm to be used for cluster charge computation in 3-sample acquisition mode.
TString m_stripTimeRecoWith6Samples
strip time reconstruction algorithm used in 6-sample acquisition mode
TString getStripTimeRecoWith6Samples() const
Returns the TString corresponding to the algorithm to be used for the strip time computation in 6-sam...
void setStripChargeRecoWith3Samples(TString chargeStripRecoWith3Samples)
Set the algorithm to be used for strip charge computation in 3-sample acquisition mode.
TString getTimeRecoWith6Samples() const
Returns the TString corresponding to the algorithm to be used for the cluster time computation in 6-s...
TString m_positionRecoWith6Samples
cluster position reconstruction algorithm used in 6-sample acquisition mode
TString getChargeRecoWith3Samples() const
Returns the TString corresponding to the algorithm to be used for the cluster charge computation in 3...
Bool_t m_assignSVDGroupIn3Samples
Assign groupId to SVD clusters in 3-sample acquisition mode.
void setTimeRecoWith3Samples(TString timeRecoWith3Samples)
Set the algorithm to be used for cluster time computation in 3-sample acquisition mode.
void setPositionRecoWith6Samples(TString positionRecoWith6Samples)
Set the algorithm to be used for cluster position computation in 6-sample acquisition mode.
Bool_t m_useSVDSpacePointSNRFractionFor3Samples
Use SVDSpacePointSNRFractionSelector in SVDSpacePointCreator for 3-sample acquisition mode.
void setStripChargeRecoWith6Samples(TString chargeStripRecoWith6Samples)
Set the algorithm to be used for strip charge computation in 6-sample acquisition mode.
Bool_t m_useSVDGroupInfoInSPfor6Samples
Use SVD clusters groupId in SVDSpacePointCreator for 6-sample acquisition mode.
TString m_stripChargeRecoWith3Samples
strip charge reconstruction algorithm used in 3-sample acquisition mode
TString getStripChargeRecoWith6Samples() const
Returns the TString corresponding to the algorithm to be used for the strip charge computation in 6-s...
Bool_t m_useSVDSpacePointSNRFractionFor6Samples
Use SVDSpacePointSNRFractionSelector in SVDSpacePointCreator for 6-sample acquisition mode.
TString m_chargeRecoWith6Samples
cluster charge reconstruction algorithm used in 6-sample acquisition mode
TString getChargeRecoWith6Samples() const
Returns the TString corresponding to the algorithm to be used for the cluster charge computation in 6...
Bool_t isSVDTimeGroupingEnabled(const Int_t &numberOfAcquiredSamples) const
Returns the parameter which turns On/Off SVD cluster grouping in 3/6-sample acquisition mode.
TString getTimeRecoWith3Samples() const
Returns the TString corresponding to the algorithm to be used for the cluster time computation in 3-s...
Abstract base class for different kinds of events.