ATLAS Offline Software
TileRawChannelBuilderMF.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TILERECUTILS_TILERAWCHANNELBUILDERMF_H
6 #define TILERECUTILS_TILERAWCHANNELBUILDERMF_H
7 
8 /********************************************************************
9  *
10  * NAME: TileRawChannelBuilderMF.h
11  * PACKAGE: offline/TileCalorimeter/TileRecUtils
12  *
13  * AUTHOR : B. Peralva
14  * CREATED: September 2012
15  *
16  * PURPOSE: Build TileRawChannels from digits using Matched filter
17  *
18  * Input: TileDigitsContainer
19  * Output: TileRawChannelContainer
20  * Parameters: TileRawChannelCont - Name of output container in SG
21  ********************************************************************/
22 
23 // Tile includes
24 #include "TileRecUtils/TileRawChannelBuilder.h" //base class
25 #include "TileConditions/ITileCondToolOfc.h" //ToolHandle template parameter
26 #include "TileConditions/TileCondToolNoiseSample.h" //ToolHandle template parameter
27 #include <vector>
28 #include <string>
29 
30 class TileHWID;
31 class TileDigits;
32 
34  public:
35 
36  // constructor
37  TileRawChannelBuilderMF(const std::string& type, const std::string& name,
38  const IInterface *parent);
39  // destructor
41 
42  // virtual methods
43  virtual StatusCode initialize() override;
44  virtual StatusCode finalize() override;
45 
46  // Inherited from TileRawChannelBuilder
47  virtual TileRawChannel * rawChannel(const TileDigits* digits, const EventContext& ctx) override;
48 
49  private:
50 
51  ToolHandle<ITileCondToolOfc> m_tileCondToolOfc{this,
52  "TileCondToolOfc", "TileCondToolOfc", "Tile OFC tool"};
53 
54  ToolHandle<ITileCondToolOfc> m_tileCondToolOfcOnFly{this,
55  "TileCondToolOfcOnFly", "TileCondToolOfc", "Tile OFC (calculated on the fly) tool"};
56 
57  ToolHandle<TileCondToolNoiseSample> m_tileToolNoiseSample{this,
58  "TileCondToolNoiseSample", "TileCondToolNoiseSample", "Tile noise sample tool"};
59 
60  bool are3FF(float &dmin, float &dmax);
61 
64  int m_pedestalMode; // -1 pedestal from conditions, 0 - fixed pedestal, 1 (default) pedestal from data
65  double m_defaultPedestal; // use a fixed pedestal value
66  int m_MF; // 0 - COF, 1 - MF (created for muon receiver board simulation)
67  int m_nSamples;
69  double m_maxTime;
70  double m_minTime;
71 
72  bool m_bestPhase; // if true, use best phase from COOL DB in "fixed phase" mode (i.e., no iterations)
73  bool m_timeFromCOF; // if true, take time estimated from second step of COF
74 
75  std::vector<float> m_digits;
76  int m_chPedCounter[5][64][48][2];
77  float m_chPed[5][64][48][2];
78 
79 };
80 
81 #endif
TileRawChannelBuilderMF::m_pedestalMode
int m_pedestalMode
Definition: TileRawChannelBuilderMF.h:64
TileRawChannelBuilderMF::m_bestPhase
bool m_bestPhase
Definition: TileRawChannelBuilderMF.h:72
ITileCondToolOfc.h
TileRawChannelBuilderMF::m_tileCondToolOfcOnFly
ToolHandle< ITileCondToolOfc > m_tileCondToolOfcOnFly
Definition: TileRawChannelBuilderMF.h:54
TileRawChannelBuilderMF::m_nSamples
int m_nSamples
number of samples in the data
Definition: TileRawChannelBuilderMF.h:67
TileRawChannelBuilderMF::m_MF
int m_MF
Definition: TileRawChannelBuilderMF.h:66
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileRawChannelBuilderMF::m_tileToolNoiseSample
ToolHandle< TileCondToolNoiseSample > m_tileToolNoiseSample
Definition: TileRawChannelBuilderMF.h:57
TileCondToolNoiseSample.h
TileRawChannelBuilderMF::are3FF
bool are3FF(float &dmin, float &dmax)
Checks that all the samples are 0x3FF (as sent by the DSP when no data arrives)
Definition: TileRawChannelBuilderMF.cxx:494
TileRawChannelBuilderMF
Definition: TileRawChannelBuilderMF.h:33
TileRawChannelBuilderMF::TileRawChannelBuilderMF
TileRawChannelBuilderMF(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
Definition: TileRawChannelBuilderMF.cxx:33
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileRawChannelBuilderMF::m_timeFromCOF
bool m_timeFromCOF
Definition: TileRawChannelBuilderMF.h:73
TileRawChannelBuilderMF::m_maxTime
double m_maxTime
max allowed time = 25*(m_nSamples-1)/2
Definition: TileRawChannelBuilderMF.h:69
TileRawChannel
Definition: TileRawChannel.h:35
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TileRawChannelBuilderMF::rawChannel
virtual TileRawChannel * rawChannel(const TileDigits *digits, const EventContext &ctx) override
Builder virtual method to be implemented by subclasses.
Definition: TileRawChannelBuilderMF.cxx:122
TileRawChannelBuilder
Definition: TileRawChannelBuilder.h:59
TileRawChannelBuilderMF::m_chPed
float m_chPed[5][64][48][2]
Definition: TileRawChannelBuilderMF.h:77
TileRawChannelBuilderMF::finalize
virtual StatusCode finalize() override
Finalize.
Definition: TileRawChannelBuilderMF.cxx:115
TileRawChannelBuilderMF::m_chPedCounter
int m_chPedCounter[5][64][48][2]
Definition: TileRawChannelBuilderMF.h:76
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TileDigits
Definition: TileDigits.h:30
TileRawChannelBuilderMF::m_tileCondToolOfc
ToolHandle< ITileCondToolOfc > m_tileCondToolOfc
Definition: TileRawChannelBuilderMF.h:51
TileRawChannelBuilderMF::initialize
virtual StatusCode initialize() override
Initialize.
Definition: TileRawChannelBuilderMF.cxx:67
TileRawChannelBuilder.h
TileRawChannelBuilderMF::m_minTime
double m_minTime
min allowed time = -25*(m_nSamples-1)/2
Definition: TileRawChannelBuilderMF.h:70
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TileRawChannelBuilderMF::m_digits
std::vector< float > m_digits
Definition: TileRawChannelBuilderMF.h:75
TileRawChannelBuilderMF::~TileRawChannelBuilderMF
~TileRawChannelBuilderMF()
Destructor.
Definition: TileRawChannelBuilderMF.cxx:61
TileRawChannelBuilderMF::m_defaultPedestal
double m_defaultPedestal
Definition: TileRawChannelBuilderMF.h:65
TileRawChannelBuilderMF::m_t0SamplePosition
int m_t0SamplePosition
position of peak sample = (m_nSamples-1)/2
Definition: TileRawChannelBuilderMF.h:68
TileRawChannelBuilderMF::m_correctAmplitude
bool m_correctAmplitude
If true, resulting amplitude is corrected when using weights for tau=0 without iteration.
Definition: TileRawChannelBuilderMF.h:63
TileRawChannelBuilderMF::m_maxIterations
int m_maxIterations
maximum number of iteration to perform
Definition: TileRawChannelBuilderMF.h:62