|
ATLAS Offline Software
|
Go to the documentation of this file.
28 #ifndef LARRAMPBUILDER_H
29 #define LARRAMPBUILDER_H
31 #include "GaudiKernel/ToolHandle.h"
74 typedef std::map<uint32_t,LArCalibTriggerAccumulator>
ACCRAMP;
86 std::vector<float>& rampCoeffs, std::vector<int>& vSat,
90 std::unique_ptr<LArConditionsContainer<ACCRAMP> >
m_ramps;
93 PublicToolHandle<LArParabolaPeakRecoTool>
m_peakParabolaTool{
this,
"LArParabolaPeakRecoTool",
"LArParabolaPeakRecoTool"};
94 PublicToolHandle<LArShapePeakRecoTool>
m_peakShapeTool{
this,
"LArShapePeakRecoTool",
"LArShapePeakRecoTool"};
95 ToolHandle<LArOFPeakRecoTool>
m_peakOFTool{
this,
"PeakOFTool",
"LArOFPeakRecoTool"};
101 std::vector< std::vector< std::vector< std::vector<double> > > >
m_CaliWaves;
103 std::vector< std::vector< std::vector< unsigned int > > >
m_CaliDACs;
117 Gaudi::Property<std::vector<std::string> >
m_keylist{
this,
"KeyList",{},
"List if input SG keys"};
118 Gaudi::Property<std::string>
m_keyoutput{
this,
"KeyOutput",
"LArRamp",
"SG Key of output object"};
120 IntegerProperty
m_degree{
this,
"Polynom",1,
"Degree of ramp-polynom"};
121 IntegerProperty
m_maxADC{
this,
"RampRange",0,
"Ignore ADC values higher than this (0: do nothing)"};
122 BooleanProperty
m_dac0sub{
this,
"SubtractDac0",
true,
"Take first DAC value as pedestal"};
123 UnsignedIntegerProperty
m_DAC0{
this,
"DAC0",0,
"DAC value considered DAC0"};
124 BooleanProperty
m_saveRawRamp{
this,
"StoreRawRamp",
false,
"Save raw ramp obj in SG"};
125 BooleanProperty
m_saveRecRamp{
this,
"StoreRecRamp",
true,
"Save reconstructed ramp obj in SG"};
126 BooleanProperty
m_satSlope{
this,
"doSatSlope",
true,
"Ignore points subject to saturation"};
127 UnsignedIntegerProperty
m_minDAC{
this,
"minDAC",0,
"Ignore DAC values smaller that this"};
128 StringProperty
m_recoTypeProp{
this,
"RecoType",
"OF",
"One of 'Parabola', 'Shape' or 'OF'"};
129 IntegerProperty
m_deadChannelCut{
this,
"DeadChannelCut",1300,
"Complain about channels with max-ADC below this value"};
130 BooleanProperty
m_correctBias{
this,
"correctBias",
false,
"For Parabola method: Correction yes/no"};
131 BooleanProperty
m_withIntercept{
this,
"WithIntercept",
true,
"False: Force fit to go through 0/0"};
134 Gaudi::Property<bool>
m_doBadChannelMask{
this,
"IgnoreBadChannels",
true,
"Don't complain about known bad channels"};
137 Gaudi::Property<std::vector<std::string> >
m_problemsToMask{
this,
"ProblemsToMask",{},
"Bad-Channel categories to mask"};
138 Gaudi::Property<std::string>
m_groupingType{
this,
"GroupingType",
"ExtendedFeedThrough",
"Grouping of the output conditions-container"};
139 Gaudi::Property<std::string>
m_hec_key{
this,
"HECKey",
"",
"SG Key of injection-resistor obj used for HEC Ramps"};
144 Gaudi::Property<bool>
m_isSC{
this,
"isSC",
false,
"Processing SC data yes/no"};
145 Gaudi::Property<bool>
m_ishec{
this,
"isHEC",
false,
"Processing HEC data yes/no"};
146 Gaudi::Property<bool>
m_iterate{
this,
"Iterate",
false,
"Iterative OF peak reco"};
IntegerProperty m_deadChannelCut
char data[hepevt_bytes_allocation_ATLAS]
BooleanProperty m_dac0sub
std::vector< float > m_thePedestal
Gaudi::Property< bool > m_isSC
Gaudi::Property< std::vector< std::string > > m_keylist
ToolHandle< LArOFPeakRecoTool > m_peakOFTool
BooleanProperty m_withIntercept
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
BooleanProperty m_saveRecRamp
std::vector< std::vector< std::vector< std::vector< double > > > > m_CaliWaves
PublicToolHandle< LArParabolaPeakRecoTool > m_peakParabolaTool
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
StatusCode rampfit(unsigned deg, const std::vector< LArRawRamp::RAMPPOINT_t > &data, std::vector< float > &rampCoeffs, std::vector< int > &vSat, const HWIdentifier chid, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Gaudi::Property< std::string > m_groupingType
const LArEM_Base_ID * m_emId
Gaudi::Property< std::string > m_keyoutput
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKeySC
StringProperty m_recoTypeProp
Gaudi::Property< bool > m_iterate
Helper class for LArEM offline identifiers for supercells.
const LArOnlineID_Base * m_onlineHelper
std::vector< std::vector< int > > m_IndexHighestDAC
Helper class to accumulate calibration triggers.
PublicToolHandle< LArShapePeakRecoTool > m_peakShapeTool
std::map< uint32_t, LArCalibTriggerAccumulator > ACCRAMP
::StatusCode StatusCode
StatusCode definition for legacy code.
BooleanProperty m_satSlope
Gaudi::Property< bool > m_doBadChannelMask
uint16_t m_fatalFebErrorPattern
FloatProperty m_delayShift
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
UnsignedIntegerProperty m_minDAC
Gaudi::Property< std::string > m_hec_key
Gaudi::Property< bool > m_ishec
Helper for the Liquid Argon Calorimeter cell identifiers.
LArBadChannelMask m_bcMask
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
std::unique_ptr< LArConditionsContainer< ACCRAMP > > m_ramps
std::vector< std::vector< int > > m_IndexDAC0
BooleanProperty m_saveRawRamp
std::vector< std::vector< std::vector< unsigned int > > > m_CaliDACs
BooleanProperty m_correctBias
AthAlgorithm()
Default constructor:
virtual StatusCode stop()
UnsignedIntegerProperty m_DAC0
Gaudi::Property< std::vector< std::string > > m_problemsToMask