ATLAS Offline Software
Loading...
Searching...
No Matches
TileRawChannelBuilderMF.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 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
30class TileHWID;
31class 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)
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
Helper class for TileCal online (hardware) identifiers.
Definition TileHWID.h:49
TileRawChannelBuilderMF(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
double m_maxTime
max allowed time = 25*(m_nSamples-1)/2
int m_t0SamplePosition
position of peak sample = (m_nSamples-1)/2
bool are3FF(float &dmin, float &dmax)
Checks that all the samples are 0x3FF (as sent by the DSP when no data arrives)
virtual StatusCode initialize() override
Initialize.
ToolHandle< ITileCondToolOfc > m_tileCondToolOfc
virtual TileRawChannel * rawChannel(const TileDigits *digits, const EventContext &ctx) override
Builder virtual method to be implemented by subclasses.
ToolHandle< TileCondToolNoiseSample > m_tileToolNoiseSample
double m_minTime
min allowed time = -25*(m_nSamples-1)/2
int m_maxIterations
maximum number of iteration to perform
bool m_correctAmplitude
If true, resulting amplitude is corrected when using weights for tau=0 without iteration.
ToolHandle< ITileCondToolOfc > m_tileCondToolOfcOnFly
int m_nSamples
number of samples in the data
virtual StatusCode finalize() override
Finalize.
TileRawChannelBuilder(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.