ATLAS Offline Software
LArCalibDigitsAccumulatorFreeGain.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /**************************************************
6 
7  Class LArCalibDigitsAccumulatorFreeGain
8  Author: Jean-Francois Marchand from the LArCalibDigitsAccumulator class
9 
10  As the class LArCalibDigitsAccumulator, emulates the DSP code in accumulation
11  calibration mode, but the three different gains are separated (useful for
12  free gain runs)
13 
14 **************************************************/
15 
16 
17 
18 #ifndef LARCALIBDIGITSACCUMULATORFREEGAIN
19 #define LARCALIBDIGITSACCUMULATORFREEGAIN
20 
22 #include "GaudiKernel/ToolHandle.h"
26 #include "StoreGate/StoreGateSvc.h"
29 
31 {
32 
33 public:
34  LArCalibDigitsAccumulatorFreeGain (const std::string& name, ISvcLocator* pSvcLocator);
37  StatusCode finalize(){return StatusCode::SUCCESS;}
38 
45  class LArAccumulated{
46  public:
47  unsigned int m_ntrigger;
48  std::vector< uint64_t > m_sum;
49  std::vector< uint64_t > m_sum2;
50  LArAccumulated() : m_ntrigger(0) {};
51  };
52 
53 private:
54  SG::ReadCondHandleKey<LArCalibLineMapping> m_calibMapKey{this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"};
56 
57 
61  int m_delay;
65  bool m_isPulsed;
66 
71 
75  std::vector<std::string> m_keylist;
76 
80  unsigned int m_nStepTrigger;
81 
85  double m_delayScale;
86 
90  bool m_keepPulsed;
91 
95  //unsigned int m_nTriggerPerStep;
96 
100  std::vector<LArAccumulated> m_AccumulatedHG;
101  std::vector<LArAccumulated> m_AccumulatedMG;
102  std::vector<LArAccumulated> m_AccumulatedLG;
103 
107  unsigned int m_event_counter;
108 
109 };
110 
111 #endif
LArCalibDigitsAccumulatorFreeGain::m_delayScale
double m_delayScale
Set delay scale.
Definition: LArCalibDigitsAccumulatorFreeGain.h:94
LArCalibDigitsAccumulatorFreeGain::m_isPulsed
bool m_isPulsed
Set wether a cell is pulsed or not.
Definition: LArCalibDigitsAccumulatorFreeGain.h:74
LArCalibDigitContainer.h
LArCalibDigitsAccumulatorFreeGain::initialize
StatusCode initialize()
Definition: LArCalibDigitsAccumulatorFreeGain.cxx:34
LArCalibDigitsAccumulatorFreeGain::m_event_counter
unsigned int m_event_counter
Event counter.
Definition: LArCalibDigitsAccumulatorFreeGain.h:116
LArCalibDigitsAccumulatorFreeGain::m_calibAccuDigitContainerName
std::string m_calibAccuDigitContainerName
LArAccumulatedCalibDigitContainer name.
Definition: LArCalibDigitsAccumulatorFreeGain.h:79
LArCalibDigitsAccumulatorFreeGain::LArAccumulated::m_ntrigger
unsigned int m_ntrigger
Definition: LArCalibDigitsAccumulatorFreeGain.h:56
LArCalibDigitsAccumulatorFreeGain::m_delay
int m_delay
Store delay.
Definition: LArCalibDigitsAccumulatorFreeGain.h:70
LArCalibDigitsAccumulatorFreeGain::m_AccumulatedLG
std::vector< LArAccumulated > m_AccumulatedLG
Definition: LArCalibDigitsAccumulatorFreeGain.h:111
LArCalibDigitsAccumulatorFreeGain::LArAccumulated
Class of intermediate accumulations.
Definition: LArCalibDigitsAccumulatorFreeGain.h:54
LArCalibDigitsAccumulatorFreeGain::LArAccumulated::LArAccumulated
LArAccumulated()
Definition: LArCalibDigitsAccumulatorFreeGain.h:59
AthAlgorithm.h
LArCalibDigitsAccumulatorFreeGain::LArCalibDigitsAccumulatorFreeGain
LArCalibDigitsAccumulatorFreeGain(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArCalibDigitsAccumulatorFreeGain.cxx:13
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArCalibDigitsAccumulatorFreeGain::LArAccumulated::m_sum
std::vector< uint64_t > m_sum
Definition: LArCalibDigitsAccumulatorFreeGain.h:57
LArCalibDigitsAccumulatorFreeGain
Definition: LArCalibDigitsAccumulatorFreeGain.h:31
LArAccumulatedCalibDigitContainer.h
LArCalibDigitsAccumulatorFreeGain::m_AccumulatedHG
std::vector< LArAccumulated > m_AccumulatedHG
Stores number of triggers per intermediate step.
Definition: LArCalibDigitsAccumulatorFreeGain.h:109
LArCalibDigitsAccumulatorFreeGain::m_AccumulatedMG
std::vector< LArAccumulated > m_AccumulatedMG
Definition: LArCalibDigitsAccumulatorFreeGain.h:110
LArCalibDigitsAccumulatorFreeGain::finalize
StatusCode finalize()
Definition: LArCalibDigitsAccumulatorFreeGain.h:46
AthAlgorithm
Definition: AthAlgorithm.h:47
LArCalibDigitsAccumulatorFreeGain::execute
StatusCode execute()
Definition: LArCalibDigitsAccumulatorFreeGain.cxx:56
LArCalibDigitsAccumulatorFreeGain::m_keepPulsed
bool m_keepPulsed
Tells you wether you keep only pulsed cells or all cells.
Definition: LArCalibDigitsAccumulatorFreeGain.h:99
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArOnlineID
Definition: LArOnlineID.h:20
LArCalibDigitsAccumulatorFreeGain::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: LArCalibDigitsAccumulatorFreeGain.h:64
LArCalibDigitsAccumulatorFreeGain::LArAccumulated::m_sum2
std::vector< uint64_t > m_sum2
Definition: LArCalibDigitsAccumulatorFreeGain.h:58
LArCalibDigitsAccumulatorFreeGain::m_calibMapKey
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapKey
Definition: LArCalibDigitsAccumulatorFreeGain.h:63
SG::ReadCondHandleKey< LArCalibLineMapping >
LArCalibParams.h
LArCalibDigitsAccumulatorFreeGain::m_keylist
std::vector< std::string > m_keylist
list of key for input digit container (=gain)
Definition: LArCalibDigitsAccumulatorFreeGain.h:84
LArCalibDigitsAccumulatorFreeGain::m_nStepTrigger
unsigned int m_nStepTrigger
Number of intermediate accumulations (JO property)
Definition: LArCalibDigitsAccumulatorFreeGain.h:89
LArCalibLineMapping.h
StoreGateSvc.h
LArOnlineID.h