Skip to content
Snippets Groups Projects
Commit f2630783 authored by Susumu Oda's avatar Susumu Oda Committed by Adam Edward Barton
Browse files

Add SCT_FlaggedConditionTestAlg to test SCT_FlaggedConditionTool.

parent 1a7b4478
5 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3
import AthenaCommon.AtlasUnixStandardJob
# Setup logger
from AthenaCommon.Logging import logging
msg = logging.getLogger("testBSError")
msg.setLevel(logging.INFO)
#--------------------------------------------------------------
# Thread-specific setup
#--------------------------------------------------------------
from AthenaCommon.ConcurrencyFlags import jobproperties
numThreads = jobproperties.ConcurrencyFlags.NumThreads()
if numThreads > 0:
from AthenaCommon.AlgScheduler import AlgScheduler
AlgScheduler.CheckDependencies( True )
AlgScheduler.ShowControlFlow( True )
AlgScheduler.ShowDataDependencies( True )
# use auditors
from AthenaCommon.AppMgr import ServiceMgr
from GaudiSvc.GaudiSvcConf import AuditorSvc
ServiceMgr += AuditorSvc()
theAuditorSvc = ServiceMgr.AuditorSvc
theAuditorSvc.Auditors += ["ChronoAuditor"]
theAuditorSvc.Auditors += ["MemStatAuditor"]
theApp.AuditAlgorithms=True
#--------------------------------------------------------------
# Load Geometry
#--------------------------------------------------------------
from AthenaCommon.GlobalFlags import globalflags
globalflags.DetDescrVersion="ATLAS-R2-2016-01-00-01"
globalflags.DetGeo="atlas"
globalflags.InputFormat="pool"
globalflags.DataSource="data"
msg.info(globalflags)
#--------------------------------------------------------------
# Set Detector setup
#--------------------------------------------------------------
# --- switch on InnerDetector
from AthenaCommon.DetFlags import DetFlags
DetFlags.ID_setOff()
DetFlags.Calo_setOff()
DetFlags.Muon_setOff()
DetFlags.Truth_setOff()
DetFlags.LVL1_setOff()
DetFlags.SCT_setOn()
# ---- switch parts of ID off/on as follows
#switch off tasks
DetFlags.pileup.all_setOff()
DetFlags.simulate.all_setOff()
DetFlags.makeRIO.all_setOff()
DetFlags.writeBS.all_setOff()
DetFlags.readRDOBS.all_setOff()
DetFlags.readRIOBS.all_setOff()
DetFlags.readRIOPool.all_setOff()
DetFlags.writeRIOPool.all_setOff()
import AtlasGeoModel.SetGeometryVersion
import AtlasGeoModel.GeoModelInit
from AthenaCommon.AlgSequence import AlgSequence
job = AlgSequence()
#--------------------------------------------------------------
# Load IOVDbSvc
#--------------------------------------------------------------
IOVDbSvc = Service("IOVDbSvc")
from IOVDbSvc.CondDB import conddb
IOVDbSvc.GlobalTag="CONDBR2-BLKPA-2018-03"
from SCT_ConditionsTools.SCT_FlaggedConditionToolSetup import SCT_FlaggedConditionToolSetup
sct_FlaggedConditionToolSetup = SCT_FlaggedConditionToolSetup()
sct_FlaggedConditionToolSetup.setup()
SCT_FlaggedConditionTool = sct_FlaggedConditionToolSetup.getTool()
SCT_FlaggedConditionTool.OutputLevel=DEBUG
from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_FlaggedConditionTestAlg
job+= SCT_FlaggedConditionTestAlg(FlaggedConditionTool=SCT_FlaggedConditionTool)
from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
if numThreads >= 2:
from SCT_ConditionsAlgorithms.SCTCondAlgCardinality import sctCondAlgCardinality
sctCondAlgCardinality.set(numThreads)
job.SCT_FlaggedConditionTestAlg.Cardinality = numThreads
import AthenaPoolCnvSvc.ReadAthenaPool
from PoolSvc.PoolSvcConf import PoolSvc
ServiceMgr += PoolSvc()
athenaCommonFlags.FilesInput = [ "./ESD.pool.root" ]
ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput.get_Value()
theApp.EvtMax = -1
ServiceMgr.MessageSvc.Format = "% F%50W%S%7W%R%T %0W%M"
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
/**
* @file SCT_FlaggedConditionTestAlg.cxx
*
* @brief Class to test SCT_FlaggedConditionTool (implementation)
*
* @author Susumu.Oda@cern.ch
**/
#include "SCT_FlaggedConditionTestAlg.h"
SCT_FlaggedConditionTestAlg::SCT_FlaggedConditionTestAlg(const std::string& name, ISvcLocator* pSvcLocator) :
AthReentrantAlgorithm(name, pSvcLocator) {
}
//Initialize
StatusCode SCT_FlaggedConditionTestAlg::initialize() {
ATH_MSG_INFO("Calling initialize");
// Retrieve flagged condition tool
ATH_CHECK(m_flaggedTool.retrieve());
return StatusCode::SUCCESS;
}
//Execute
StatusCode SCT_FlaggedConditionTestAlg::execute(const EventContext& ctx) const {
ATH_MSG_INFO("Calling execute");
ATH_MSG_ALWAYS("------------------------------------------------------------");
ATH_MSG_ALWAYS(" numBadIds " << m_flaggedTool->numBadIds(ctx));
const SCT_FlaggedCondData* badIds{m_flaggedTool->getBadIds(ctx)};
for (const std::pair<IdentifierHash, std::string>& badId : *badIds) {
ATH_MSG_ALWAYS(" Wafer hash " << badId.first << " reason " << badId.second);
}
return StatusCode::SUCCESS;
}
//Finalize
StatusCode SCT_FlaggedConditionTestAlg::finalize() {
ATH_MSG_INFO("Calling finalize");
return StatusCode::SUCCESS;
}
// -*- C++ -*-
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
/**
* @file SCT_FlaggedConditionTestAlg.h
*
* @brief Class to test SCT_FlaggedConditionTool (header)
*
* @author Susumu.Oda@cern.ch
**/
#ifndef SCT_FlaggedConditionTestAlg_H
#define SCT_FlaggedConditionTestAlg_H
//Athena
#include "AthenaBaseComps/AthReentrantAlgorithm.h"
#include "SCT_ConditionsTools//ISCT_FlaggedConditionTool.h"
//Gaudi
#include "GaudiKernel/ToolHandle.h"
class SCT_FlaggedConditionTestAlg : public AthReentrantAlgorithm {
public:
SCT_FlaggedConditionTestAlg(const std::string& name, ISvcLocator* pSvcLocator);
virtual ~SCT_FlaggedConditionTestAlg() = default;
virtual StatusCode initialize() override;
virtual StatusCode execute(const EventContext& ctx) const override;
virtual StatusCode finalize() override;
/** Make this algorithm clonable. */
virtual bool isClonable() const override { return true; };
private:
ToolHandle<ISCT_FlaggedConditionTool> m_flaggedTool{this, "FlaggedConditionTool", "InDetSCT_FlaggedConditionTool", "Tool to retrieve SCT flagged condition"};
};
#endif // SCT_FlaggedConditionTestAlg_H
......@@ -10,6 +10,7 @@
#include "../SCT_DCSConditionsTempCondAlg.h"
#include "../SCT_DCSConditionsTestAlg.h"
#include "../SCT_DetectorElementCondAlg.h"
#include "../SCT_FlaggedConditionTestAlg.h"
#include "../SCT_LinkMaskingCondAlg.h"
#include "../SCT_LinkMaskingTestAlg.h"
#include "../SCT_MajorityCondAlg.h"
......@@ -47,6 +48,7 @@ DECLARE_COMPONENT( SCT_DCSConditionsStatCondAlg )
DECLARE_COMPONENT( SCT_DCSConditionsTempCondAlg )
DECLARE_COMPONENT( SCT_DCSConditionsTestAlg )
DECLARE_COMPONENT( SCT_DetectorElementCondAlg )
DECLARE_COMPONENT( SCT_FlaggedConditionTestAlg )
DECLARE_COMPONENT( SCT_LinkMaskingCondAlg )
DECLARE_COMPONENT( SCT_LinkMaskingTestAlg )
DECLARE_COMPONENT( SCT_MajorityCondAlg )
......
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