ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCalibUtils
LArCalibUtils
LArCaliWaveBuilderXtalk.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
This algorithm produces a LArCaliWaveContainer
8
out of a LArCalibDigitContainer. They key of the
9
containers that are to be processed is defined
10
by the jobOption 'KeyList'. The resulting
11
containers are put in the DetectorStore with the
12
same keys.
13
14
This algorithm was largely inspired from the LArCaliWaveBuilder
15
algorithm; it however allows to reconstruct channels
16
that were not pulsed,in order to study cross talk
17
The definition of the desired pattern is given in the job
18
options
19
20
Different calibration pattern are available :
21
- EM Barrel : StripSingle[1-4] / MiddleSingle[1-8] / BackSingle[1-4]
22
- EM Endcap : StripSingle[1-4] / MiddleSingle[1-4] / BackSingle[1-4]
23
and MiddleSingle[1-4] / BackSingle[1-4] for inner wheel
24
For EM endcap special crates studies, set SpecialCrate to true and
25
SpecialRegion to InnerWheel or OuterWheel.
26
27
FeedthroughPul is used to find the relevant calibration pattern. Empty
28
ntuples/histograms may be produced with badly set FeedthroughPul, or if
29
there are bad channels or disconnected FEBs in FeedthroughPul.
30
31
32
NB.
33
Currently the calibration patterns are tested for one particular channel,
34
hard-coded in initializeCabling(), and taken in the feed-through FeedthroughPul.
35
The algorithm should be runnned for each calibration pattern and each
36
subdetectors.
37
This could, for example, be improved by:
38
(1) Using directly calibration line channels to detect the pattern. This
39
would avoid to specify, and look at, a particular feed-through.
40
One could also set dynamicaly the different patterns, with job options
41
(for example in the same way that they are set for calibration runs:
42
four words of 32 bits).
43
(2) Create one LArCaliWaveContainer per pattern (gathered inside a vector
44
for exemple). This should permit to reconstruct all patterns in one pass.
45
46
47
************************************************************/
48
49
#ifndef LARCALIWAVEBUILDERXTALK_H
50
#define LARCALIWAVEBUILDERXTALK_H
51
#include "
AthenaBaseComps/AthAlgorithm.h
"
52
#include "GaudiKernel/ToolHandle.h"
53
#include "
LArRawEvent/LArAccumulatedCalibDigitContainer.h
"
54
#include "
LArRawConditions/LArCaliWaveContainer.h
"
55
#include "
LArIdentifier/LArOnlineID.h
"
56
#include "
LArCabling/LArOnOffIdMapping.h
"
57
#include "
LArRecConditions/LArCalibLineMapping.h
"
58
#include "
StoreGate/ReadCondHandleKey.h
"
59
60
61
#include "
LArElecCalib/ILArPedestal.h
"
62
#include "
CaloIdentifier/LArEM_ID.h
"
63
64
#include <vector>
65
#include <string>
66
#include <map>
67
68
class
LArCaliWaveBuilderXtalk
:
public
AthAlgorithm
69
{
70
public
:
71
LArCaliWaveBuilderXtalk
(
const
std::string & name, ISvcLocator * pSvcLocator);
72
~LArCaliWaveBuilderXtalk
();
73
74
//standard algorithm methods
75
StatusCode
initialize
();
76
StatusCode
execute
(
const
EventContext& ctx);
77
StatusCode
stop
();
78
StatusCode
finalize
(){
return
StatusCode::SUCCESS;}
79
80
private
:
81
82
SG::ReadCondHandleKey<LArOnOffIdMapping>
m_cablingKey
{
this
,
"OnOffMap"
,
"LArOnOffIdMap"
,
"SG key for mapping object"
};
83
SG::ReadCondHandleKey<LArCalibLineMapping>
m_CLKey
{
this
,
"CalibLineKey"
,
"LArCalibLineMap"
,
"SG calib line key"
};
84
85
StatusCode
initializeCabling
(
const
LArOnOffIdMapping
* cabling,
const
LArCalibLineMapping
*clCont);
86
87
std::vector<std::string>
m_keylist
;
88
std::vector<std::string>
m_keylistproperty
;
89
std::string
m_keyoutput
;
90
std::string
m_groupingType
;
91
92
// Intermediate caching objects
93
typedef
std::map<int, LArCaliWave>
WaveMap
;
94
typedef
LArConditionsContainer<WaveMap>
WaveContainer
;
95
WaveContainer
m_waves
;
96
97
const
LArOnlineID
*
m_onlineHelper
;
98
99
std::vector<HWIdentifier>
m_CalibLineHW
;
100
101
int
m_feedthroughNumber
;
// FT which is used to check the calibration pattern
102
int
m_posOrNeg
;
// A/C side
103
int
m_barrelEndcap
;
// Barrel / Endcap
104
105
std::string
m_calibPattern
;
106
std::string
m_partition
;
107
108
bool
m_isSpecialCrate
;
// for special crates
109
std::string
m_emecSpecialRegion
;
// OuterWheel / InnerWheel
110
bool
m_isInnerWheel
;
// for EMEC inner wheel
111
112
unsigned
m_event_counter
;
113
int
m_NStep
;
114
float
m_SamplingPeriod
;
115
float
m_dt
;
116
int
m_ADCsatur
;
// Saturation check
117
118
int
m_cutOnSample
;
// Cut waves (0 = no cut)
119
};
120
121
#endif
122
AthAlgorithm.h
ILArPedestal.h
LArAccumulatedCalibDigitContainer.h
LArCaliWaveContainer.h
LArCalibLineMapping.h
LArEM_ID.h
LArOnOffIdMapping.h
LArOnlineID.h
ReadCondHandleKey.h
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
LArCaliWaveBuilderXtalk::m_ADCsatur
int m_ADCsatur
Definition
LArCaliWaveBuilderXtalk.h:116
LArCaliWaveBuilderXtalk::m_barrelEndcap
int m_barrelEndcap
Definition
LArCaliWaveBuilderXtalk.h:103
LArCaliWaveBuilderXtalk::m_posOrNeg
int m_posOrNeg
Definition
LArCaliWaveBuilderXtalk.h:102
LArCaliWaveBuilderXtalk::m_isSpecialCrate
bool m_isSpecialCrate
Definition
LArCaliWaveBuilderXtalk.h:108
LArCaliWaveBuilderXtalk::m_isInnerWheel
bool m_isInnerWheel
Definition
LArCaliWaveBuilderXtalk.h:110
LArCaliWaveBuilderXtalk::m_dt
float m_dt
Definition
LArCaliWaveBuilderXtalk.h:115
LArCaliWaveBuilderXtalk::m_cutOnSample
int m_cutOnSample
Definition
LArCaliWaveBuilderXtalk.h:118
LArCaliWaveBuilderXtalk::LArCaliWaveBuilderXtalk
LArCaliWaveBuilderXtalk(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArCaliWaveBuilderXtalk.cxx:25
LArCaliWaveBuilderXtalk::m_keylistproperty
std::vector< std::string > m_keylistproperty
Definition
LArCaliWaveBuilderXtalk.h:88
LArCaliWaveBuilderXtalk::~LArCaliWaveBuilderXtalk
~LArCaliWaveBuilderXtalk()
LArCaliWaveBuilderXtalk::m_waves
WaveContainer m_waves
Definition
LArCaliWaveBuilderXtalk.h:95
LArCaliWaveBuilderXtalk::finalize
StatusCode finalize()
Definition
LArCaliWaveBuilderXtalk.h:78
LArCaliWaveBuilderXtalk::m_feedthroughNumber
int m_feedthroughNumber
Definition
LArCaliWaveBuilderXtalk.h:101
LArCaliWaveBuilderXtalk::m_SamplingPeriod
float m_SamplingPeriod
Definition
LArCaliWaveBuilderXtalk.h:114
LArCaliWaveBuilderXtalk::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition
LArCaliWaveBuilderXtalk.h:82
LArCaliWaveBuilderXtalk::m_event_counter
unsigned m_event_counter
Definition
LArCaliWaveBuilderXtalk.h:112
LArCaliWaveBuilderXtalk::m_keyoutput
std::string m_keyoutput
Definition
LArCaliWaveBuilderXtalk.h:89
LArCaliWaveBuilderXtalk::initialize
StatusCode initialize()
Definition
LArCaliWaveBuilderXtalk.cxx:73
LArCaliWaveBuilderXtalk::WaveMap
std::map< int, LArCaliWave > WaveMap
Definition
LArCaliWaveBuilderXtalk.h:93
LArCaliWaveBuilderXtalk::m_CLKey
SG::ReadCondHandleKey< LArCalibLineMapping > m_CLKey
Definition
LArCaliWaveBuilderXtalk.h:83
LArCaliWaveBuilderXtalk::m_NStep
int m_NStep
Definition
LArCaliWaveBuilderXtalk.h:113
LArCaliWaveBuilderXtalk::m_groupingType
std::string m_groupingType
Definition
LArCaliWaveBuilderXtalk.h:90
LArCaliWaveBuilderXtalk::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition
LArCaliWaveBuilderXtalk.h:97
LArCaliWaveBuilderXtalk::initializeCabling
StatusCode initializeCabling(const LArOnOffIdMapping *cabling, const LArCalibLineMapping *clCont)
Definition
LArCaliWaveBuilderXtalk.cxx:169
LArCaliWaveBuilderXtalk::stop
StatusCode stop()
Definition
LArCaliWaveBuilderXtalk.cxx:565
LArCaliWaveBuilderXtalk::m_partition
std::string m_partition
Definition
LArCaliWaveBuilderXtalk.h:106
LArCaliWaveBuilderXtalk::m_keylist
std::vector< std::string > m_keylist
Definition
LArCaliWaveBuilderXtalk.h:87
LArCaliWaveBuilderXtalk::m_calibPattern
std::string m_calibPattern
Definition
LArCaliWaveBuilderXtalk.h:105
LArCaliWaveBuilderXtalk::m_emecSpecialRegion
std::string m_emecSpecialRegion
Definition
LArCaliWaveBuilderXtalk.h:109
LArCaliWaveBuilderXtalk::WaveContainer
LArConditionsContainer< WaveMap > WaveContainer
Definition
LArCaliWaveBuilderXtalk.h:94
LArCaliWaveBuilderXtalk::m_CalibLineHW
std::vector< HWIdentifier > m_CalibLineHW
Definition
LArCaliWaveBuilderXtalk.h:99
LArCaliWaveBuilderXtalk::execute
StatusCode execute(const EventContext &ctx)
Execute method.
Definition
LArCaliWaveBuilderXtalk.cxx:357
LArCalibLineMapping
Definition
LArCalibLineMapping.h:17
LArConditionsContainer
Definition
LArConditionsContainer.h:65
LArOnOffIdMapping
Definition
LArOnOffIdMapping.h:20
LArOnlineID
Definition
LArOnlineID.h:21
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
Generated on
for ATLAS Offline Software by
1.17.0