5#ifndef FIXLARELECCALIB_H
6#define FIXLARELECCALIB_H
42 virtual StatusCode
execute()
override;
43 virtual StatusCode
finalize()
override {
return StatusCode::SUCCESS;}
70 IntegerProperty
m_fixFlag{
this,
"FixFlag", 1,
"which fix to apply"};
71 StringProperty
m_g4Phys{
this,
"G4Phys",
"",
"which physics list to use"};
72 StringProperty
m_infile{
this,
"InputFile",
"",
"name of inpput file"};
77 StatusCode
update_DAC2uA(
const std::string& em_filename,
const std::string& hec_filename);
88 bool withGain,
int nvar);
135 typedef std::pair<HWIdentifier,std::vector<float> >
ROW_t ;
148 const T * container_c =
nullptr;
149 ATH_CHECK( detStore()->retrieve(container_c) );
151 T*
container =
const_cast<T*
>(container_c);
153 typedef typename T::LArCondObj CONDOBJ ;
155 for (
int i=0; i<2;++i)
159 if ( em_filename ==
"") continue ;
161 ATH_CHECK( ReadFile(em_filename,cabling,EM,withGain,nvar) );
165 if ( hec_filename ==
"") continue ;
167 ATH_CHECK( ReadFile(hec_filename,cabling,EM,withGain,nvar) );
172 if (withGain) ngain=3;
173 for (
int igain = 0;igain<ngain;++igain){
174 VROW_t::iterator it = m_cache[igain].begin();
175 VROW_t::iterator it_e = m_cache[igain].end();
182 const CONDOBJ& u =
container->get(hid,igain);
188 set_object(t,(*it).second) ;
193 print_object(
" Old object = ",u);
195 CONDOBJ& u2 =
const_cast<CONDOBJ&
>(u);
196 set_object(u2,(*it).second) ;
199 const CONDOBJ& u3 =
container->get(hid,igain);
200 print_object(
" New object = ",u3);
204 ATH_MSG_INFO(
" done for gain ="<<igain<<
" with "<<n<<
" objects");
209 ATH_MSG_INFO(
" done with EM "<<em_filename<<
" and HEC" <<hec_filename );
210 return StatusCode::SUCCESS;
219 const T * container_c =
nullptr;
220 ATH_CHECK( detStore()->retrieve(container_c) );
222 T*
container =
const_cast<T*
>(container_c);
224 typedef typename T::LArCondObj CONDOBJ ;
226 if ( filename ==
"") {
ATH_MSG_ERROR(
"No input filename ");
return StatusCode::FAILURE; }
227 ATH_CHECK( ReadFileAll(filename, cabling, withGain,nvar) );
230 if (withGain) ngain=3;
231 for (
int igain = 0;igain<ngain;++igain){
232 VROW_t::iterator it = m_cache[igain].begin();
233 VROW_t::iterator it_e = m_cache[igain].end();
236 for( ;it!=it_e;++it) {
244 const CONDOBJ& u =
container->get(hid,igain);
249 set_object(t,(*it).second) ;
252 print_object(
" Old object = ",u);
254 CONDOBJ& u2 =
const_cast<CONDOBJ&
>(u);
255 set_object(u2,(*it).second) ;
258 const CONDOBJ& u3 =
container->get(hid,igain);
259 print_object(
" New object = ",u3);
263 ATH_MSG_INFO(
" done for gain ="<<igain<<
" with "<<n<<
" objects");
268 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Helper class for offline supercell identifiers.
StatusCode fix3 ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
StatusCode fix13(const LArOnOffIdMapping *cabling)
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
StatusCode fix12(const LArOnOffIdMapping *cabling)
StatusCode fix9 ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
void set_object(LArNoiseMC::LArCondObj &obj, const std::vector< float > &v)
StatusCode ReadFile(const std::string &filename, const LArOnOffIdMapping *cabling, bool EM, bool withGain, int nvar)
const LArOnline_SuperCellID * m_sonline_idhelper
virtual StatusCode initialize() override
StatusCode fix6 ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
virtual ~FixLArElecCalib()=default
StatusCode update_EM_HEC ATLAS_NOT_THREAD_SAFE(const std::string &em_filename, const std::string &hec_filename, const LArOnOffIdMapping *cabling, bool withGain, int nvar)
StatusCode fix2(const LArOnOffIdMapping *cabling)
virtual StatusCode finalize() override
StatusCode updateHADfSampl ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
const LArEM_SuperCell_ID * m_sem_idhelper
StatusCode fix10 ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
StatusCode fix1(const LArOnOffIdMapping *cabling)
StatusCode update_All ATLAS_NOT_THREAD_SAFE(const std::string &filename, const LArOnOffIdMapping *cabling, bool withGain, int nvar)
StatusCode updateMinBias ATLAS_NOT_THREAD_SAFE(const std::string &filename, const LArOnOffIdMapping *cabling)
std::vector< ROW_t > VROW_t
virtual StatusCode execute() override
StatusCode updateEMfSampl ATLAS_NOT_THREAD_SAFE(const std::string &filename, const LArOnOffIdMapping *cabling)
StatusCode fix18(const LArCalibLineMapping *clmap)
SG::ReadCondHandleKey< LArCalibLineMapping > m_CLKey
StatusCode update_DAC2uA(const std::string &em_filename, const std::string &hec_filename)
StatusCode fix8 ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
StatusCode fixDACuAMeV ATLAS_NOT_THREAD_SAFE()
StatusCode fix11 ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
StatusCode fix15 ATLAS_NOT_THREAD_SAFE()
const LArHEC_ID * m_hec_idhelper
IntegerProperty m_fixFlag
StatusCode fix7 ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
const LArOnlineID * m_online_idhelper
virtual StatusCode stop ATLAS_NOT_THREAD_SAFE() override
const LArFCAL_ID * m_fcal_idhelper
StatusCode fix17 ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
const CaloCell_SuperCell_ID * m_scell_idhelper
const LArEM_ID * m_em_idhelper
StatusCode fix4 ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
std::pair< HWIdentifier, std::vector< float > > ROW_t
void print_object(const std::string &msg, const LArNoiseMC::LArCondObj &obj)
StatusCode fix14(const LArOnOffIdMapping *cabling)
StatusCode addMphysOverMcal(const LArOnOffIdMapping *cabling)
const LArHEC_SuperCell_ID * m_shec_idhelper
StatusCode updateEM_DACuAMeV ATLAS_NOT_THREAD_SAFE(const std::string &filename, const LArOnOffIdMapping *cabling)
StatusCode ReadFileAll(const std::string &filename, const LArOnOffIdMapping *cabling, bool withGain, int nvar)
StatusCode fix16 ATLAS_NOT_THREAD_SAFE()
StatusCode fix5 ATLAS_NOT_THREAD_SAFE(const LArOnOffIdMapping *cabling)
FixLArElecCalib(const std::string &name, ISvcLocator *pSvcLocator)
std::string getString() const
Provide a string form of the identifier - hexadecimal.
bool is_valid() const
Check if id is in a valid state.
Helper class for LArEM offline identifiers.
Helper class for LArEM offline identifiers for supercells.
Helper class for LArFCAL offline identifiers.
Helper class for LArHEC offline identifiers.
Helper class for LArHEC offline identifiers for supercells.