Skip to content
Snippets Groups Projects
Commit e97a67d5 authored by Pavol Strizenec's avatar Pavol Strizenec
Browse files

fixing unit tests

parent fa86075d
No related merge requests found
......@@ -28,6 +28,12 @@ from AtlasGeoModel import GeoModelInit
from AtlasGeoModel import SetupRecoGeometry
include( "CaloIdCnv/CaloIdCnv_joboptions.py" )
from McEventSelector import McEventSelectorConf
svcMgr+=McEventSelectorConf.McEventSelector('EventSelector',
RunNumber=999999,
EventsPerLB=3,
TimeStampInterval=1)
from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
ServiceMgr += GeoModelSvc()
theApp.CreateSvc += [ "GeoModelSvc"]
......@@ -43,14 +49,12 @@ topSequence = AlgSequence()
theApp.EvtMax=5
import ROOT
from LArCellRec.LArCellDeadOTXCorrToolDefault import LArCellDeadOTXCorrToolDefault
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
###########################################################################
......
......@@ -7,6 +7,7 @@
#include "LArElecCalib/LArConditionsException.h"
#include "LArIdentifier/LArOnlineID.h"
#include "LArIdentifier/LArOnline_SuperCellID.h"
#include "LArCabling/LArCablingLegacyService.h"
#include <cmath>
/////////////////////////////////////////////////////////////////////////////
......@@ -20,6 +21,7 @@ LArAutoCorrTotalTool::LArAutoCorrTotalTool(const std::string& type,
m_MCSym(false),
m_useMixedOFCOpt(false),
m_lar_on_id(nullptr),
m_cablingService(nullptr),
m_larmcsym("LArMCSymTool"),m_adc2mevTool("LArADC2MeVTool"),
m_calo_id_man(nullptr),
m_lar_em_id(nullptr),
......@@ -64,15 +66,14 @@ StatusCode LArAutoCorrTotalTool::initialize()
ATH_CHECK( detStore()->retrieve(laron,"LArOnlineID") );
m_lar_on_id = (LArOnlineID_Base*) laron;
ATH_CHECK( m_cablingKey.initialize() );
ToolHandle<LArCablingLegacyService> larcab("LArCablingLegacyService");
ATH_CHECK( larcab.retrieve() );
m_cablingService = (LArCablingBase*) &(*larcab);
} else {
const LArOnline_SuperCellID* laron = nullptr;
ATH_CHECK( detStore()->retrieve(laron,"LArOnline_SuperCellID") );
m_lar_on_id = (LArOnlineID_Base*) laron;
ATH_CHECK( m_cablingKeySC.initialize() );
ATH_MSG_ERROR("LArAutoCorrTotalTool deprecated, not working for SC");
return StatusCode::FAILURE;
}
//retrieves helpers for LArCalorimeter
......@@ -208,20 +209,6 @@ StatusCode LArAutoCorrTotalTool::getTerms()
// get HWIdentifier iterator
std::vector<HWIdentifier>::const_iterator it =m_lar_on_id->channel_begin();
std::vector<HWIdentifier>::const_iterator it_e =m_lar_on_id->channel_end();
const LArOnOffIdMapping* cabling(0);
if ( m_isSC ){
SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKeySC};
cabling = *cablingHdl;
} else {
SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey};
cabling = *cablingHdl;
}
if(!cabling) {
ATH_MSG_ERROR("Do not have proper cabling !!!");
return StatusCode::FAILURE;
}
int ngains = (m_isSC ? 1 : 3 );
// resize vector to #(gain) = 3
......@@ -237,7 +224,7 @@ StatusCode LArAutoCorrTotalTool::getTerms()
const HWIdentifier id = *it;
unsigned int id32 = id.get_identifier32().get_compact();
if(cabling->isOnlineConnected(id))
if(m_cablingService->isOnlineConnected(id))
{
if(m_MCSym) {
HWIdentifier id2 = m_larmcsym->symOnline(id);
......@@ -326,7 +313,7 @@ StatusCode LArAutoCorrTotalTool::getTerms()
{
if (m_isMC) {
ATH_MSG_ERROR( m_lar_em_id
->show_to_string(cabling->cnvToIdentifier(id))
->show_to_string(m_cablingService->cnvToIdentifier(id))
<< "fSampl ("<<fSampl<<"), SigmaNoise ("
<<SigmaNoise<<") or Adc2MeV ("<<Adc2MeV<<") null "
<<"=> AutoCorrTotal = only AutoCorr elect. part "
......@@ -503,6 +490,15 @@ LArAutoCorrTotalTool::autoCorrTotal(const HWIdentifier& CellID,
/////////////////////////////////////////////////////////////////////////////
// *** retrieve AutoCorrTotal (4 coeffs) for a given cell ***
const std::vector<double>
LArAutoCorrTotalTool::autoCorrTotal(const Identifier& CellID,
int gain, float Nminbias) const
{
HWIdentifier id = m_cablingService->createSignalChannelID(CellID);
return this->autoCorrTotal(id, gain, Nminbias);
}
void LArAutoCorrTotalTool::handle(const Incident&) {
ATH_MSG_DEBUG( "In Incident-handle" );
......@@ -540,3 +536,12 @@ LArAutoCorrTotalTool::samplRMS(const HWIdentifier& CellID,
}
///////////////////////////////////////////////////////////
const std::vector<double>
LArAutoCorrTotalTool::samplRMS(const Identifier& CellID,
int gain, float Nminbias) const
{
HWIdentifier id = m_cablingService->createSignalChannelID(CellID);
return this->samplRMS(id, gain, Nminbias);
}
......@@ -39,11 +39,9 @@
#include "CaloIdentifier/CaloIdManager.h"
#include "CaloIdentifier/LArID.h"
#include "GaudiKernel/IIncidentListener.h"
#include "StoreGate/ReadCondHandleKey.h"
#include "LArCabling/LArOnOffIdMapping.h"
class StoreGateSvc;
class LArCablingBase ;
class LArAutoCorrTotalTool: public AthAlgTool,
virtual public ILArAutoCorrTotalTool,
......@@ -63,10 +61,17 @@ class LArAutoCorrTotalTool: public AthAlgTool,
const std::vector<double> autoCorrTotal(const HWIdentifier& id,
int gain, float Nminbias=-1 ) const;
const std::vector<double> autoCorrTotal(const Identifier& id,
int gain, float Nminbias=-1 ) const;
const std::vector<double> samplRMS(const HWIdentifier& id,
int gain,
float Nminbias=-1) const;
const std::vector<double> samplRMS(const Identifier& id,
int gain,
float Nminbias=-1) const;
// initialize and finalize methods
virtual StatusCode initialize();
......@@ -83,9 +88,6 @@ class LArAutoCorrTotalTool: public AthAlgTool,
private:
SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKeySC{this,"ScCablingKey","LArOnOffIdMapSC","SG Key of SC LArOnOffIdMapping object"};
// compute method
const std::vector<double>
computeAutoCorr(const std::vector<float>& terms, float Nminbias) const;
......@@ -98,6 +100,7 @@ class LArAutoCorrTotalTool: public AthAlgTool,
bool m_useMixedOFCOpt;
const LArOnlineID_Base* m_lar_on_id;
LArCablingBase* m_cablingService;
ToolHandle<ILArMCSymTool> m_larmcsym;
ToolHandle<ILArADC2MeVTool> m_adc2mevTool;
......
......@@ -15,6 +15,7 @@
#include "CaloDetDescr/CaloDetDescrElement.h"
#include "CaloIdentifier/CaloCell_ID.h"
#include "LArCabling/LArCablingLegacyService.h"
#include "LArIdentifier/LArOnlineID.h"
#include "LArIdentifier/LArOnline_SuperCellID.h"
......@@ -28,6 +29,7 @@ LArOFCTool::LArOFCTool(const std::string& type,
const IInterface* parent)
: AthAlgTool(type, name, parent),
m_lar_on_id(nullptr),
m_cablingService(nullptr),
m_larmcsym("LArMCSymTool"),
m_calo_id_man(nullptr),
m_lar_em_id(nullptr),
......@@ -94,9 +96,12 @@ StatusCode LArOFCTool::initialize()
IToolSvc* toolSvc = nullptr;
ATH_CHECK( service( "ToolSvc",toolSvc ) );
if ( m_isSC ) {
ATH_CHECK( m_cablingKeySC.initialize() );
ATH_MSG_ERROR("LArOFCTool deprecated, not working for SC");
return StatusCode::FAILURE;
} else {
ATH_CHECK( m_cablingKey.initialize() );
ToolHandle<LArCablingLegacyService> tool("LArCablingLegacyService");
ATH_CHECK( tool.retrieve() );
m_cablingService = (LArCablingBase*)& (*tool);
}
if(m_MCSym) {
ATH_CHECK( m_larmcsym.retrieve() );
......@@ -201,14 +206,6 @@ StatusCode LArOFCTool::getOFC(StatusCode databaseRetrieved)
{
ATH_MSG_DEBUG( "in getOFC" );
const LArOnOffIdMapping* cabling(0);
if ( !m_isSC ){
SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey};
cabling = *cablingHdl;
} else {
SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKeySC};
cabling = *cablingHdl;
}
// get HWIdentifier iterator
std::vector<HWIdentifier>::const_iterator it =m_lar_on_id->channel_begin();
std::vector<HWIdentifier>::const_iterator it_e =m_lar_on_id->channel_end();
......@@ -227,7 +224,7 @@ StatusCode LArOFCTool::getOFC(StatusCode databaseRetrieved)
count ++;
const HWIdentifier id = *it;
unsigned int id32 = id.get_identifier32().get_compact();
if(!cabling->isOnlineConnected(id)) continue;
if(!m_cablingService->isOnlineConnected(id)) continue;
if (m_MCSym) {
HWIdentifier id2 = m_larmcsym->symOnline(id);
if (id2 != id ) continue;
......@@ -239,8 +236,8 @@ StatusCode LArOFCTool::getOFC(StatusCode databaseRetrieved)
{
if(databaseRetrieved==StatusCode::SUCCESS)
{
m_OFCa[igain][id32]=this->computeOFC(OFCA,id,igain,cabling,-1.).asVector();
m_OFCb[igain][id32]=this->computeOFC(OFCB,id,igain,cabling,-1.).asVector();
m_OFCa[igain][id32]=this->computeOFC(OFCA,id,igain,-1.).asVector();
m_OFCb[igain][id32]=this->computeOFC(OFCB,id,igain,-1.).asVector();
//-1 : use the default Nminbias already taken for AutoCorrTotal
// so it is consistant
}
......@@ -263,7 +260,7 @@ StatusCode LArOFCTool::getOFC(StatusCode databaseRetrieved)
ILArOFC::OFCRef_t
LArOFCTool::computeOFC(int aORb, const HWIdentifier& CellID,
int igain, const LArOnOffIdMapping *cabling, float Nminbias) const
int igain, float Nminbias) const
{
bool thisChan_useDelta = false;
......@@ -282,8 +279,8 @@ LArOFCTool::computeOFC(int aORb, const HWIdentifier& CellID,
thisChan_useDelta = true;
}
else if (m_lar_on_id->isFCALchannel(CellID) ) {
if (cabling->isOnlineConnected (CellID)) {
Identifier ofl_id = cabling->cnvToIdentifier(CellID);
if (m_cablingService->isOnlineConnected (CellID)) {
Identifier ofl_id = m_cablingService->cnvToIdentifier(CellID);
const CaloDetDescrElement* dde = m_calo_dd_man->get_element(ofl_id);
if (!dde) {
ATH_MSG_ERROR( " dde = 0 , onl_id, ofl_id= "<< CellID << " "<< ofl_id );
......@@ -302,12 +299,12 @@ LArOFCTool::computeOFC(int aORb, const HWIdentifier& CellID,
}
}
if (cabling->isOnlineConnected(CellID))
if (m_cablingService->isOnlineConnected(CellID))
{
if(m_FromDB)
{
if(aORb==OFCA) return m_dd_ofc->OFC_a(cabling->createSignalChannelID(CellID),igain);
if(aORb==OFCB) return m_dd_ofc->OFC_b(cabling->createSignalChannelID(CellID),igain);
if(aORb==OFCA) return m_dd_ofc->OFC_a(CellID,igain);
if(aORb==OFCB) return m_dd_ofc->OFC_b(CellID,igain);
}
else
{
......@@ -333,7 +330,7 @@ LArOFCTool::computeOFC(int aORb, const HWIdentifier& CellID,
}
const std::vector<double> AutoCorr =
m_autocorrTool->autoCorrTotal(cabling->createSignalChannelID(CellID),igain_autocorr,Nminbias);
m_autocorrTool->autoCorrTotal(CellID,igain_autocorr,Nminbias);
//unsigned int nsamples_AC_OFC=AutoCorr.size()+1;
unsigned int nsamples_AC_OFC = (1+((int)(sqrt(1+8*AutoCorr.size()))))/2;
......@@ -441,7 +438,7 @@ LArOFCTool::computeOFC(int aORb, const HWIdentifier& CellID,
if(m_Dump)
{
std::cout<<m_lar_em_id
->show_to_string(cabling->cnvToIdentifier(CellID))
->show_to_string(m_cablingService->cnvToIdentifier(CellID))
<<" gain="<<igain<<" Nminbias="<<Nminbias<<std::endl;
std::cout<<"Shape: ";
for(c=0;c<nsamples_shape;++c)
......@@ -508,7 +505,7 @@ LArOFCTool::computeOFC(int aORb, const HWIdentifier& CellID,
if(m_Dump)
{
std::cout<<m_lar_em_id
->show_to_string(cabling->cnvToIdentifier(CellID))
->show_to_string(m_cablingService->cnvToIdentifier(CellID))
<<" gain="<<igain<<" Nminbias="<<Nminbias<<std::endl;
std::cout<<"Shape: ";
for(c=0;c<nsamples_shape;++c)
......@@ -567,21 +564,6 @@ LArOFCTool::computeOFC(int aORb, const HWIdentifier& CellID,
return (m_OFCtmp);
}
ILArOFC::OFCRef_t
LArOFCTool::computeOFC(int aORb, const HWIdentifier& CellID,
int igain, float Nminbias) const
{
const LArOnOffIdMapping* cabling(0);
if ( !m_isSC ){
SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey};
cabling = *cablingHdl;
} else {
SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKeySC};
cabling = *cablingHdl;
}
return computeOFC(aORb, CellID,igain,cabling,Nminbias);
}
/////////////////////////////////////////////////////////////////////////////
unsigned int LArOFCTool::findTheNSamples(ILArShape::ShapeRef_t Shape,
......@@ -649,22 +631,7 @@ ILArOFCTool::OFCRef_t LArOFCTool::OFC_a(const HWIdentifier& CellID,
ILArOFCTool::OFCRef_t LArOFCTool::OFC_a(const Identifier& CellID,
int gain, float Nminbias) const
{
const LArOnOffIdMapping* cabling(0);
if ( !m_isSC ){
SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey};
cabling = *cablingHdl;
} else {
SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKeySC};
cabling = *cablingHdl;
}
HWIdentifier id = cabling->createSignalChannelID(CellID);
return this->OFC_a(id, gain, Nminbias);
}
ILArOFCTool::OFCRef_t LArOFCTool::OFC_a(const Identifier& CellID,
int gain, const LArOnOffIdMapping *cabling, float Nminbias) const
{
HWIdentifier id = cabling->createSignalChannelID(CellID);
HWIdentifier id = m_cablingService->createSignalChannelID(CellID);
return this->OFC_a(id, gain, Nminbias);
}
......@@ -717,22 +684,7 @@ ILArOFCTool::OFCRef_t LArOFCTool::OFC_b(const HWIdentifier& CellID,
ILArOFCTool::OFCRef_t LArOFCTool::OFC_b(const Identifier& CellID,
int gain, float Nminbias) const
{
const LArOnOffIdMapping* cabling(0);
if ( !m_isSC ){
SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey};
cabling = *cablingHdl;
} else {
SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKeySC};
cabling = *cablingHdl;
}
HWIdentifier id = cabling->createSignalChannelID(CellID);
return this->OFC_b(id, gain, Nminbias);
}
ILArOFCTool::OFCRef_t LArOFCTool::OFC_b(const Identifier& CellID,
int gain, const LArOnOffIdMapping *cabling, float Nminbias) const
{
HWIdentifier id = cabling->createSignalChannelID(CellID);
HWIdentifier id = m_cablingService->createSignalChannelID(CellID);
return this->OFC_b(id, gain, Nminbias);
}
......
......@@ -35,12 +35,11 @@
#include "LArElecCalib/ILArOFC.h"
#include "LArElecCalib/ILArNoise.h"
#include "LArElecCalib/ILArPedestal.h"
#include "LArElecCalib/ILArAutoCorrTotalTool.h"
#include "StoreGate/ReadCondHandleKey.h"
#include "LArCabling/LArOnOffIdMapping.h"
#include "LArElecCalib/ILArAutoCorrTotalTool.h"
#include "StoreGate/DataHandle.h"
#include "LArCabling/LArCablingBase.h"
#include "LArElecCalib/ILArMCSymTool.h"
#include "LArIdentifier/LArOnlineID_Base.h"
#include "CaloIdentifier/CaloIdManager.h"
......@@ -78,11 +77,6 @@ class LArOFCTool: public AthAlgTool,
ILArOFCTool::OFCRef_t OFC_b(const Identifier& id,
int gain,float Nminbias=-1) const;
ILArOFCTool::OFCRef_t OFC_a(const Identifier& id,
int gain,const LArOnOffIdMapping *cabling, float Nminbias=-1) const;
ILArOFCTool::OFCRef_t OFC_b(const Identifier& id,
int gain,const LArOnOffIdMapping *cabling, float Nminbias=-1) const;
// initialize and finalize methods
virtual StatusCode initialize();
virtual StatusCode finalize();
......@@ -96,18 +90,15 @@ class LArOFCTool: public AthAlgTool,
return ILArOFCTool::interfaceID();}
virtual void handle(const Incident&);
private:
SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKeySC{this,"ScCablingKey","LArOnOffIdMapSC","SG Key of SC LArOnOffIdMapping object"};
StatusCode condDataReady();
enum TYPE_OFC{OFCA,OFCB};
const LArOnlineID_Base* m_lar_on_id;
//ToolHandle<LArCablingService> m_cablingService;
LArCablingBase* m_cablingService;
ToolHandle<ILArMCSymTool> m_larmcsym;
const CaloIdManager* m_calo_id_man;
......@@ -136,9 +127,7 @@ class LArOFCTool: public AthAlgTool,
bool m_isMC;
ILArOFC::OFCRef_t computeOFC(int aORb,const HWIdentifier& id,
int gain, const LArOnOffIdMapping *cabling, float Nminbias) const;
ILArOFC::OFCRef_t computeOFC(int aORb,const HWIdentifier& id,
int gain, float Nminbias) const;
int gain,float Nminbias) const;
unsigned int findTheNSamples(ILArShape::ShapeRef_t Shape,
unsigned int nsamples_AC_OFC,
......
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment